1. 程式人生 > >在mfc程式中啟用另一個已存在的程式

在mfc程式中啟用另一個已存在的程式

在主程式上添加了呼叫另一個輔助工具程式的按鈕,每按一次都會開啟一個新的輔助工具程式例項,這樣看起立很彆扭。舒服一些的作法應該是:在已經開啟一個程式例項的情況下,啟用這個例項;在沒有已開啟例項的情況下,建立一個新例項。建立新例項很簡單,就不多說了。這裡說一下啟用已存在的程式例項的方法。

//回撥函式,被傳送給EnumWIndows做引數

BOOL CALLBACK EnumWindowProc(HWND hWnd, LPARAM lParam)
{
 DWORD dwPID;
 GetWindowThreadProcessId(hWnd, &dwPID);

 //程序ID相符
 if(lParam == dwPID)
 {
  HWND hSubWnd = ::GetLastActivePopup(hWnd);
  ::ShowWindow(hWnd, SW_SHOW);
  ::SetForegroundWindow(hSubWnd);

  return FALSE;
 }
 else
 {
  return TRUE;
 }
}

//呼叫該函式啟用另一個程式例項,引數為另一個程式的程序ID,這個程序ID在建立程序時獲得。

BOOL ActivateProcess(DWORD dwProcessID)
{
 return EnumWindows(EnumWindowProc, (LPARAM)dwProcessID);
}

在建立子程序時,注意保留其程序ID,當需要啟用該程序時,呼叫ActivateProcess函式,將程序ID做引數傳遞過去,就可以啟用該子程序了。效果就是子程序的視窗啪的一下跳到了最前面,很無聊吧?

相關推薦

mfc程式啟用一個存在的程式

在主程式上添加了呼叫另一個輔助工具程式的按鈕,每按一次都會開啟一個新的輔助工具程式例項,這樣看起立很彆扭。舒服一些的作法應該是:在已經開啟一個程式例項的情況下,啟用這個例項;在沒有已開啟例項的情況下,建立一個新例項。建立新例項很簡單,就不多說了。這裡說一下啟用已存在的程式例

在python程式呼叫一個py檔案

在同一個資料夾下 呼叫函式: A.py檔案:     def add(x,y): print('和為:%d'%(x+y)) B.py檔案:     import A A.add

Mac OS X下從服務程序啟動一個應用程式(Cocoa Application)

- (void) launchAppliction: (NSString*) appPath{ //appPath指向可執行檔案的絕對地址 NSTask *softTask = [[NSTask alloc]init]; [softTask setLaunchPath:appPath]; [softTask

python呼叫一個檔案下的.py程式

同文件下呼叫 程式a.py 和 b.py 同時存在一個資料夾A之下,希望在a.py 中呼叫b.py程式中的fun函式 import b b.fun() 不同檔案間呼叫 程式a.py位於檔案A中,程式b.py位於檔案B中,希望在a.py中呼叫b

如何在一個線程結束一個線程

www. mtp oci mcs pve uda uwp xib 線程 湯e83PF賈約7R9http://t.docin.com/onzlf81506 qS57TV4遊95垢焉3http://jz.docin.com/sina_6341911313 1奧yS蒂徒OEU

PHP在一個框架使用一個框架

code main 中新 rul con .htaccess lena you 瀏覽器 在當前框架中新建一個文件夾lee: mkdir lee 進入lee: cd lee 引入框架: composer create-project 寫rewrite文件:vim .

在URL使用一個url作為參數時會被`&`截斷的問題

轉換 blog value AD -a result too isset 工具 在URL中使用另一個url作為參數時會被&截斷的問題 下午幫同事寫一個url轉二維碼的小工具時,發生標題中描述的問題。比如:輸入的url是http://www.example.dev/n

如何在一個js檔案引入一個js檔案

比如現在我們有兩個js檔案,1.js  和  2.js 我們現在要做的是將2.js 檔案中的程式碼引入到 1.js 檔案中 在1.js檔案中寫入如下程式碼 var script = document.createElement("script"); var hea

python檔案呼叫一個python檔案的類

如果是在同一個 module中(也就是同一個py 檔案裡),直接用就可以 如果在不同的module裡,例如 a.py裡有 class A: b.py 裡有 class B: 如果你要在class B裡用class A 需要在 b.py的開頭寫上 from a import A  

微信小程式開發——開啟一個程式

微信小程式開啟另一個小程式,有兩種方法:1.超連結;2.點選按鈕。 全域性配置: 跳轉到其他小程式,需要在當前小程式全域性配置中配置需要跳轉的小程式列表,程式碼如下: App.json { ... "navigateToMiniProgramAppIdList": [ "w

安卓的資料共享——從一個APP呼叫一個APP資料的方法

在Android中如何在一個APP中呼叫另一個APP中的資料呢?大致有以下五種方法可以實現 1、首選項資訊-Shared Preferences 2、檔案 3、SQLite 4、Content Provider 5、廣播 下來對上述的五種方法進行詳細的解析: 1、首先對

Eclipse如何在一個Java EE專案引用一個JavaEE專案

第一步:專案名-右鍵->build path->configure build path->project選項卡->.點選add,引用子專案。 第二步:右鍵[Web-Project]->properties,進入如下介面,選擇MyEclipse->Deploy

網頁的一個頁面顯示一個頁面

1、定義 內聯框架:HTML內聯框架是為了實現在網頁中顯示網頁,突出了內聯二字,就是在一個網頁中,我們能夠控制在這個網頁中用多大的框去顯示另外一個網頁,並且能通過CSS對其進行控制。 2、兩種應用場景: (1)固定右側或左側按鈕,修改另一側或網頁中某個部分的內容 (2

如何使用spring容器在一個呼叫一個類的方法。

學了spring容器之後,最基本的就是這個在一個類中呼叫另一個類中的方法了。本文講述的就是如何使用spring容器從一個類呼叫另一個類的方法。首先,我們先新建一個Student類,在類中建立一個int型別的方法。如圖: 第一個類Student就完成了,那麼我們

一個程式設計師對一個程式設計師的忠告

自己關於所從事工作的一些看法,希望對你有用。 為什麼要選擇軟體網際網路行業 從巨集觀上來看,軟體網際網路工作者算得上是這個時代的弄潮兒,站在潮流的前沿,致力於為使用者創造更加時尚便捷優質的生活。在當今這個移動網際網路的浪潮之中,你可以感受到網際網路正在改變人們的生活方式和

eclipse如何開啟一個建立的工程

一、點選file中的import 二、進入匯入介面,點選general中的exiting project into workspace 三、點選select root directory,並選擇後面的Browse按鈕,選擇你已建立的工程,點選並確立,最後點選finis

xml文件插入一個文件的節點 藉助XmlDocumentFragment

private bool InsertXml(string path, string newNode)         {             XmlDocument doc = new Xm

html引入一個html

html中引入呼叫另一個html的方法,嘗試了好幾種,都列出來:  其中第一種是最好的,其他的方法,可以嘗試看看,是不是適合你當前專案 一、div+$(“#page1”).load(“b.html”)  參考程式碼: <body> <div id

pandas篩選出表滿足一個表所有條件的資料

今天記錄一下pandas篩選出一個表中滿足另一個表中所有條件的資料。例如: list1 結構: 名字,ID,顏色,數量,型別。list1 = [['a',1,255,100,'03'],['a',2,481,50,'06'],['a',47,255,500,'03'],['b

android開發之在activity控制一個activity的UI更新

第一種方法: 遇到一個問題,需要在一個activity中控制另一個acitivity做一些更新,沒想到傳遞handler的方法,通過以下方式解決。 1.在MyAPP中定義屬性handler package jason.com; import jason.com.MasterAc