PDA

View Full Version : انداختن یک شی یا متن روی پنجره برنامه دیگری. چگونه؟



sylverstar
چهارشنبه 19 آبان 1389, 19:42 عصر
سلام به جمیع دوستان در انجمن VB
من چطوری میتونم یک آبجکت رو پرت کنم روی یک پنجره دیگر به صورت غیر پویا
دستور SETPARENT این کار را میکنه ولی پویا هست. یعنی وقتی آبجکت رفت دیگه برگشتنی در کار نیست
من برای مثال میخواهم یه حرف A را بندازم روی دکمه استارت منو ویندوز. بطوری که یک ثانیه دیده بشه و ثانیع بعد محو
چشمک زن بشه
لطفا راهنمایی بفرمایید

sylverstar
پنج شنبه 20 آبان 1389, 18:11 عصر
یعنی سوال من خیلی سخت بود؟
20 نفر تا الان دیدن هیچ کسی بلد نبوده! عجب

pcdownload.bloghaa.com
جمعه 21 آبان 1389, 01:41 صبح
سلام
یه کد برات نوشتم که صد در صد مشکلت رو حل می کنه :
این کد یک کامند باتن را در هر ثانیه بین تسک بار و فرم جابجا می کند.
یک کامند باتن با نام co و عنوان hello و یک تایمر روی فرم گذاشته و کد زیر را بنویسید.

Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Dim h As Boolean
Private Sub Command1_Click()
Dim hWnd As Long
hWnd = FindWindow("Shell_TrayWnd", vbNullString)
hWnd = FindWindowEx(hWnd, 0, "ReBarWindow32", vbNullString)
hWnd = FindWindowEx(hWnd, 0, "MSTaskSwWClass", "Running Applications")
hWnd = FindWindowEx(hWnd, 0, "ToolbarWindow32", "Running Applications")
SetParent Co.hWnd, hWnd
End Sub

Private Sub Command2_Click()
Dim hWnd As Long
hWnd = FindWindow("Shell_TrayWnd", vbNullString)
hWnd = FindWindowEx(hWnd, 0, "ReBarWindow32", vbNullString)
hWnd = FindWindowEx(hWnd, 0, "MSTaskSwWClass", "Running Applications")
hWnd = FindWindowEx(hWnd, 0, "ToolbarWindow32", "Running Applications")
hWnd = FindWindowEx(hWnd, 0, vbNullString, "hello")
SetParent hWnd, Me.hWnd
End Sub

Private Sub Form_Load()
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
h = Not h
If h Then
Command1_Click
Else
Command2_Click
End If
End Sub