alirezai211
جمعه 08 آبان 1394, 15:38 عصر
با سلام
من یک برنامه uninstall رو توسط برنامه ام که تو VB.NET نوشتم اجرا می کنم بعد از اجرا uninstall پیغامی می پرسه که:
می خواهید حذف صورت بگیره یا نه ؟
دو کلید yes و no هم داره
چطور می تونم بدون اجازه دادن به کاربر گزینه yes را فعال کنم ؟ ( تا برنامه uninstall اجرا بشه و کاربر نتونه جلوش رو بگیره )
Ehsan_Shia
جمعه 08 آبان 1394, 15:51 عصر
بسم الله الرحمن الرحیم
سلام علیکم
بنده که در مقابل اساتید چیزی بلد نیستم، ولی اگه واضح تر توضیح بدید یا برنامه را بزارید، بهتر می توان متوجه شد؛ البته اختیار با خودتان هست.
samiasoft
جمعه 08 آبان 1394, 16:19 عصر
با سلام
من یک برنامه uninstall رو توسط برنامه ام که تو VB.NET نوشتم اجرا می کنم بعد از اجرا uninstall پیغامی می پرسه که:
می خواهید حذف صورت بگیره یا نه ؟
دو کلید yes و no هم داره
چطور می تونم بدون اجازه دادن به کاربر گزینه yes را فعال کنم ؟ ( تا برنامه uninstall اجرا بشه و کاربر نتونه جلوش رو بگیره )
شما باید هندل کنترل مورد نظر در برنامه رو بدست بیارید و بعد با توابع send meesage دستور مورد نظر رو براش بفرستید...
alirezai211
جمعه 08 آبان 1394, 22:54 عصر
این از تصویر دیکه yes که خواسته بودید . 136362
samiasoft
جمعه 08 آبان 1394, 23:34 عصر
این کل توابع سندمسیج که به پروژه اضافه کنید :
Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd As Long, ByVal hWnd As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Const WM_LBUTTONDOWN As Long = &H201
Private Const WM_LBUTTONUP As Long = &H202
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long
Const WM_GETTEXTLENGTH As Long = &HE
Const WM_GETTEXT = &HD
Private Const WM_CUT = &H300
Private Const WM_COPY = &H301
Private Const WM_CLEAR = &H303
Private Const WM_SETTEXT = &HC
Private Const WM_PASTE = &H302
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const SWP_NOACTIVATE = &H10
Const SWP_SHOWWINDOW = &H40
Private Declare Sub SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)
برای اینتر کردن در دکمه باتونی که قرار دادید :
Dim wHwnd As Long
Do
wHwnd = FindWindowEx(0, wHwnd, "#32770", vbNullString)
If wHwnd = 0 Then Exit Sub
Loop Until FindWindowEx(wHwnd, 0, "#32770", vbNullString)
wHwnd = FindWindowEx(wHwnd, 0, "Button", vbNullString)
If wHwnd = 0 Then
MsgBox("baz nist panjere ")
Else
SendMessage(wHwnd, &HF5, 0, 0)
End If
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.