Re: [問題] 如何透過dll控制其他程式
※ 引述《freehand1122 (jychen)》之銘言:
: 假設我撰寫兩個程式A,B跟一個dll檔
: B程式有一個function是做簡單的運算,最後回傳值印出
: 如果今天我想用A程式透過dll去呼叫B程式的function,請問該如何做
A.exe <-------> xxx.dll <-------> B.exe
你所說的架構應該是這樣吧。
不過有點做白工的感覺,直接 call xxx.dll 做簡單運算
不然直接執行 B.exe
透過一個中間者有點浪費。 XD
: A.exe:main()
int main()
{
dll = LoadLibrary("xxx.dll");
fptr = GetProcAddress(dll, "xxx_fun");
int ret = fptr();
FreeLibray(dll);
return 0;
}
: xxx.dll:xxx_fun()
int xxx_fun()
{
PROCESS_INFORMATION pi;
ZeroMemory(&pi, sizeof(pi));
int ret = 0;
if (CreateProcess("B.exe", NULL, NULL, NULL, FALSE, CREATE_NEW_CONSOLE,
NULL, NULL, NULL, &pi))
{
WaitForSingleObject(pi.hProcess, INFINITE);
GetExitCodeProcess(pi.hProcess, &ret);
}
return ret;
}
: B.exe:main()
int main()
{
return 1000;
}
--
超好用豬頭記帳!!
下載:http://qazq.pixnet.net/blog/post/21654150
程式截圖:http://140.120.13.13/~qazq/PigHeadMoney/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.21.127.208
推
05/13 13:51, , 1F
05/13 13:51, 1F
→
05/13 13:52, , 2F
05/13 13:52, 2F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 4 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章