回覆列表
  • 1 # 愛逗的小夥伴

    我的想法是你先改一下那個EXE程式的檔案格式,例如改成:EXE程式.txt(名字可以變下,不然容易看出來)【其實也不一定要修改成txt的啦,你可以修改成abc,aaa,bbb啊等等,可以自創的,反正到時候是改成exe的】,然後執行登陸程式的時候就把格式改成.exe,然後再shell:EXE程式.exe就OK了。關閉登陸程式的時候,則利用api函式,關閉exe程式(我用的是SendMessage傳送關閉視窗的資訊),並且把exe程式再修改成txt檔案。

    我試驗過了,可行的!

    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Any) As Long

    Const WM_CLOSE = &H10

    Private Sub Command1_Click() "注意,先將那個exe程式修改成txt格式放在登陸程式的同目錄下

    On Error Resume Next

    Name App.Path & "exe程式.txt" As App.Path & "exe程式.exe" "更改檔案格式

    Shell App.Path & "exe程式.exe"

    End Sub

    Private Sub Command2_Click()

    On Error Resume Next

    hwd = FindWindow(vbNullString, "exe程式") "注意這裡的"exe程式"應該是視窗標題名

    SendMessage hwd, WM_CLOSE, 0&, 0& "傳送關閉程式的資訊

    Name App.Path & "exe程式.exe" As App.Path & "exe程式.txt" "更改檔案格式

    End

    End Sub

    Private Sub Form_Load()

    Form1.Caption = "登陸"

    Command2.Caption = "退出登陸"

    End Sub

    Private Sub Form_Unload(Cancel As Integer) "只要登陸程式關閉,那麼exe程式也關閉,並且重新命名格式

    On Error Resume Next

    hwd = FindWindow(vbNullString, "exe程式") "注意這裡的"exe程式"應該是視窗標題名

    SendMessage hwd, WM_CLOSE, 0&, 0& "傳送關閉程式的資訊

    Name App.Path & "exe程式.exe" As "E:\" & "exe程式.txt" "更改檔案格式

    End Sub

  • 中秋節和大豐收的關聯?
  • 《雁門太守行》的主題?