台灣最大程式設計社群網站
線上人數
2270
 
會員總數:245979
討論主題:189557
歡迎您免費加入會員
討論區列表 >> C/C++ >> 如何使兩個程式互相傳值
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何使兩個程式互相傳值
價值 : 20 QP  點閱數:903 回應數:1
樓主

阿信
門外漢
0 2
48 1
發送站內信

新手發問,有不適當請多包涵。
問題:
我想寫兩個各別獨立的FORM1和FORM2,並且FORM1可以傳值給FORM2。
我上網找了一些資訊,例如要知道開啟程式的完整檔名或是找到那個程式PID才可以去使他們溝通
或是有些人使用 FindWindow 或是 Getwindow 我想知道c++可以這樣用嗎~?

目前我事先使用一個form1和一個記事本,想要在form1輸入值然後傳到記事本裡,但是目前我都找不到記事本的PID,
我想知道我的方向對不對,或是有人可以提供我更詳盡的說明,以下是我的測試程式碼。


DWORD PID;
private: System::Void Send_Button_Click(System::Object^ sender, System::EventArgs^ e) {
GetPIDByWindowName(nullptr,"test.txt - 記事本");
textBox1->Text = Convert::ToString(PID);
}
DWORD GetPIDByWindowName(const char* ClassName, const char* WindowName)
{

HWND targetWnd = FindWindow(ClassName, WindowName);
GetWindowThreadProcessId(targetWnd, &PID);
return PID;
}

以上的程式碼,會出現3個問題:
1.錯誤 1 error C2668: 'System::Convert::ToString' : 模稜兩可的呼叫多載函式 d:\microsoft visual studio 10.0\projects\client_form1\client_form1\Form1.h 97
2.錯誤 2 error C2664: 'FindWindowW' : 無法將參數 1 從 'const char *' 轉換成 'LPCWSTR' d:\microsoft visual studio 10.0\projects\client_form1\client_form1\Form1.h 102
3.錯誤 3 error C2664: 'GetWindowThreadProcessId' : 無法將參數 2 從 'cli::interior_ptr<Type>' 轉換成 'LPDWORD' d:\microsoft visual studio 10.0\projects\client_form1\client_form1\Form1.h 103




搜尋相關Tags的文章: [ 如何使兩個程式互相溝通 ] ,
本篇文章發表於2016-08-22 19:12
1樓
回應

JoJo
檢舉此回應
VC++ 2010 兩個API問題
本篇文章回覆於2016-10-26 17:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.