2011-10-24 39 views
3

如何在VB.net中以編程方式關閉外部應用程序的窗口。 我只想關閉當前窗口而不關閉整個過程。如何在VB.net中以編程方式關閉窗口?

+1

你所說的外部應用程序的窗口是什麼意思? – krammer

+0

@krammer我想通過我的應用程序關閉另一個應用程序的窗口。我不知道表單名稱。我只想關閉它。 – Harsh

回答

4

使用FindWindowSendMessage的API

在這裏C#,應該是微不足道的轉換:

using Microsoft.Win32; 

[DllImport("user32.dll")] 
public static extern int FindWindow(string lpClassName,string lpWindowName); 
[DllImport("user32.dll")] 
public static extern int SendMessage(int hWnd, uint Msg, int wParam, int lParam); 

public const int WM_SYSCOMMAND = 0x0112; 
public const int SC_CLOSE = 0xF060; 

private void closeWindow() 
{ 
    // retrieve the handler of the window 
    int iHandle = FindWindow("Notepad", "Untitled - Notepad"); 
    if (iHandle > 0) 
    { 
     // close the window using API   
     SendMessage(iHandle, WM_SYSCOMMAND, SC_CLOSE, 0); 
    } 
} 

來源:http://www.codeproject.com/KB/dialog/closewindow.aspx

相關問題