c#程序間的通訊方式很多種,只會這種,感覺比較簡單。不懂原理,能用就行。
假設有兩個程式:server(主程序),client(子程序)
1.server端:
/*定義乙個結構體,用來接收從子程序傳過來的資訊,與子程序定義的一樣
*/public
struct
copydatastruct
/*定義乙個訊息型別,與子程序定義的一樣
*/const
int wm_copydata = 0x004a
;
/*處理訊息的方法
*/protected
override
void defwndproc(ref
system.windows.forms.message m)
}
2.client端:
1using
system;
2using
system.collections.generic;
3using
system.componentmodel;
4using
system.data;
5using
system.drawing;
6using
system.linq;
7using
system.text;
8using
system.windows.forms;
9using system.runtime.interopservices; //
引入這些命名空間
10using
system.diagnostics;
1112
namespace
client
1320
21/*
傳送訊息的結構,與主程序一樣
*/22
public
struct
copydatastruct
2330
31/*
傳送訊息的型別,與主程序一樣
*/32
const
int wm_copydata = 0x004a;33
34/*
通過這個方法,可以找到主程序的窗體
*/35 [dllimport("
user32.dll
", entrypoint = "
findwindow")]
36private
static
extern
int findwindow(string lpclassname, string
lpwindowname);
3738
39/*
傳送訊息的結構體
*/40 [dllimport("
user32.dll
", entrypoint = "
sendmessage")]
41private
static
extern
intsendmessage(
42int
hwnd,
43int
msg,
44int
wparam,
45ref
copydatastruct lparam
46);
4748
49private
void button1_click(object
sender, eventargs e)
5056
else
5768}69
70}71 }
3.主要事項:
①.因為findwindow這個方法是用來找到窗體的,所以server端一定要是winform程式,client可以是winform,也可以是控制台
②.當把傳送訊息的方法,放在迴圈中的時候,會降低程式的效能。上千或上萬次的迴圈,效果會非常明顯。
③.不需要引入其他的dll,直接原生態
C 利用Web Service實現簡訊傳送
通過程式設計方式實現簡訊息的傳送對很多人來說是一件比較煩雜的事情,目前一般的解決方法是通過計算機和手機的連線,通過可對手機程式設計的語言編寫相關的手機簡訊息程式來實現,而這種方法對於一般人來說是很難達到的,因為此種方法不僅要有很多必備的硬體裝置,也還需懂得手機程式設計的相關知識。本文就來 一下另外一...
C 利用模板實現佇列
這個 的實現主要使用了類模板以及模板函式,友元,成員模板以及成員模板函式。這裡需要注意的時,類的成員函式在實現的時候必須滿足以下幾點 1 必須以template開始,後接模板形參表 2 必須指出是那個類成員 3 類名必須包含模板形參 具體的格式如下 templatereturn type queue...
C 利用Web Service實現簡訊傳送
通過程式設計方式實現簡訊息的傳送對很多人來說是一件比較煩雜的事情,目前一般的解決方法是通過計算機和手機的連線,通過可對手機程式設計的語言編寫相關的手機簡訊息程式來實現,而這種方法對於一般人來說是很難達到的,因為此種方法不僅要有很多必備的硬體裝置,也還需懂得手機程式設計的相關知識。本文就來 一下另外一...