۲۵-آذر-۱۳۸۹, ۱۴:۵۹:۰۷
۲۵-آذر-۱۳۸۹, ۱۷:۴۹:۵۹
اگه برای net. میخوای چرا اینجا پرسیدی؟
کد:
InputLanguage.CurrentInputLanguage
۲۵-آذر-۱۳۸۹, ۱۹:۵۲:۰۰
این رو میدونم ولی:
این فقط در صورتی کار میکنه که form برنامه ی خودمون active باشه. در غیر این صورت جواب نمیده!
این فقط در صورتی کار میکنه که form برنامه ی خودمون active باشه. در غیر این صورت جواب نمیده!
۲۶-آذر-۱۳۸۹, ۰۲:۵۲:۵۲
سلام دوست عزیز .
در ویبی6 باید از تابع GetKeyboardLayout استفاده کنید .
در ویبی6 باید از تابع GetKeyboardLayout استفاده کنید .
کد:
Private Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Long) As Long
Private Sub Form_Load()
Select Case GetKeyboardLayout(0)
Case 67699721
MsgBox "EN"
Case 69796905
MsgBox "FA"
End Select
End Sub
۲۶-آذر-۱۳۸۹, ۰۴:۴۰:۱۷
درود .
در vb6 مشگلی ندارم.میخوام بدونم برای ورژن 2010 چه کار باید بکنم.
این سورسی هم که گذاشتید این error رو میده:
A call to PInvoke function 'WindowsApplication1!WindowsApplication1.Form1::GetKeyboardLayout' has unbalanced the stack. This is likely because the managed PInvoke signature does not match the unmanaged target signature. Check that the calling convention and parameters of the PInvoke signature match the target unmanaged signature.
در ضمن یه بار دیگه هم تاکید میکنم که من میخوام در هر جای ویندوز که تغییر زبان صورت میگیره برنامه بهم بگه . نه فقط جایی که form خود برنامه Active باشه!
در vb6 مشگلی ندارم.میخوام بدونم برای ورژن 2010 چه کار باید بکنم.
این سورسی هم که گذاشتید این error رو میده:
A call to PInvoke function 'WindowsApplication1!WindowsApplication1.Form1::GetKeyboardLayout' has unbalanced the stack. This is likely because the managed PInvoke signature does not match the unmanaged target signature. Check that the calling convention and parameters of the PInvoke signature match the target unmanaged signature.
در ضمن یه بار دیگه هم تاکید میکنم که من میخوام در هر جای ویندوز که تغییر زبان صورت میگیره برنامه بهم بگه . نه فقط جایی که form خود برنامه Active باشه!
۲۶-آذر-۱۳۸۹, ۱۷:۳۶:۳۱
فدات شم اون تابع GetKeyboardLayout رو شما باید به یه شکل دیگه تو vb.net تعریف کنی.
این دوستمون نمونه داد . یعنی برو خودت بقیش رو انجام بده.
اگر کلا می خوا ی بدونی هم که کی عوض میشه و کجا عوض میشه. چند تا راه احمقانه هست که تروجان نویس ها استفاده می کنن. و یه راه عاقلانه.
که hook هست . برو hook یاد بگیر.
این دوستمون نمونه داد . یعنی برو خودت بقیش رو انجام بده.
اگر کلا می خوا ی بدونی هم که کی عوض میشه و کجا عوض میشه. چند تا راه احمقانه هست که تروجان نویس ها استفاده می کنن. و یه راه عاقلانه.
که hook هست . برو hook یاد بگیر.
۲۶-آذر-۱۳۸۹, ۱۷:۴۸:۰۳
تابع ها در .net هم مثل vb6 تعریف میشن .
یه نمونه سورس کد دارید بزارید؟برای این موضوع؟
یه نمونه سورس کد دارید بزارید؟برای این موضوع؟
۲۶-آذر-۱۳۸۹, ۱۷:۵۹:۱۵
vb.net
c#
کد:
<DllImport("user32.dll", CharSet:=CharSet.Auto, ExactSpelling:=True)> _
Public Shared Function GetKeyboardLayout(ByVal dwLayout As Integer) As IntPtr
c#
کد:
[DllImport("user32.dll", CharSet=CharSet.Auto, ExactSpelling=true)]
public static extern IntPtr GetKeyboardLayout(int dwLayout);