?????????看到过一个有BUG的程序,它的本意是把其他程序的MENU取到自己的程序中,并将获得此程序的所有ID,但在这过程中出现也把两个不同程序的CAPTION互换了,,,,,,可还没有找到把ICON改过来的程序,我想是不是可通过指针的修改来完成,但这个95%是不可完成的任务。

解决方案 »

  1.   

    'Form 代码
    Private Sub Form_Load()
     'Me.Icon = LoadPicture("c:\windows\ebetween0.ico")
    End SubPrivate Sub Command1_click()
     On Error Resume Next 
     Dim nMainhwnd&, hIcon&
     nMainhwnd& = FindWindow(vbNullString, "无标题 - 记事本")
     If nMainhwnd& = 0 Then
      Shell "notepad.exe", 1
      hIcon = SendMessage(Me.hwnd, WM_GETICON, ICON_BIG, ByVal 0)
      SendMessage nMainhwnd, WM_SETICON, ICON_BIG, ByVal hIcon
     Else
      hIcon = SendMessage(Me.hwnd, WM_GETICON, ICON_BIG, ByVal 0)
      SendMessage nMainhwnd, WM_SETICON, ICON_BIG, ByVal hIcon
     End If
    End Sub'BAS 声名
    Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPublic Const WM_GETICON = &H7F
    Public Const WM_SETICON = &H80
    Public Const ICON_SMALL = 0
    Public Const ICON_BIG = 1