好吧,我有三個Microsoft Access數據庫。我希望能夠以編程方式切換這些內容。我有一個void方法,它接受一個名爲dbName(我的數據庫名稱)的字符串參數。使運行進程成爲活動窗口
public void SwitchDatabase(string dbName)
{
}
我知道我的Access數據庫的MainWindowTitle是什麼,每個數據庫都有一個不同的MainWindowTitle這樣我就可以創建Process類的數組,使這個相等,從而System.Diagnostics.Process.GetProcesses()。然後我可以通過我的正在運行的進程循環,直到我找到了一個在ProcessName是MSACCESS和MainWindowTitle是正確的,像這樣:
Process[] processList = Process.GetProcesses();
foreach (Process theProcess in processList)
{
string processName = theProcess.ProcessName;
string mainWindowTitle = theProcess.MainWindowTitle;
}
有一次,我發現這一點,我可以再搶進程ID,現在我想使這個過程成爲我的活動窗口。我該怎麼做呢?
感謝
如果.laccdb創建是因爲某人用Access打開數據庫而不是您的應用程序?或者,如果文件存在是因爲打開它的應用程序在清除之前崩潰了?我不認爲這是一種可靠的工作方式。 – 2012-02-16 11:11:36
好吧,問題的關鍵是切換到我認爲是開放的數據庫,所以如果不是,它會拋出一個我可以處理的異常 – JMK 2012-02-16 11:15:13
結合Eric在下面的答案中的信息,以下鏈接幫助我獲得這工作 - http://stackoverflow.com/questions/4566632/maximize-another-process-window-in-net – JMK 2012-02-16 15:07:44