部分**來自於網路;廢話不多說,上**:
呼叫方法:
object
obj
=windllinvoke(
"kernel32.dll",
"beep",
newobject
, typeof
(void
));函式**:
1[system.runtime.interopservices.dllimport(
"kernel32")]
2private
static
extern
intptr loadlibrary(
string
lplibfilename);34
[system.runtime.interopservices.dllimport(
"kernel32")]
5private
static
extern
intptr getprocaddress(intptr hmodule,
string
lpprocname);67
[system.runtime.interopservices.dllimport(
"kernel32")]
8private
static
extern
intptr freelibrary(intptr hlibmodule);910
///11
///動態呼叫windows dll
12///
13///
dll檔名
14///
待呼叫的函式名
15///
函式引數
16///
返回值17
///呼叫結果
18private
static
object
windllinvoke(
string
filename,
string
funname,
object
objparams, type returntype)
1936
37//
構建呼叫方法模型
38assemblyname asembyname
=new
assemblyname();
39asembyname.name ="
windllinvoke_assembly";
40assemblybuilder asembybuilder =41
modulebuilder modulebuilder
=asembybuilder.definedynamicmodule(
"windllinvoke");
42methodbuilder methodbuilder
=modulebuilder.defineglobalmethod(
"invokefun
", methodattributes.public
|methodattributes.static, returntype, paramtypes);
4344
//獲取乙個 ilgenerator ,用於傳送所需的 il
45ilgenerator il
=methodbuilder.getilgenerator();
46for
(intj =
0; j
<
paramtypes.length;
++j)
4753
else
5457}58
59//
判斷處理器型別
60if
(intptr.size ==4
)6164else
if(intptr.size ==8
)6568else
6972
73il.emitcalli(opcodes.calli, callingconvention.stdcall, returntype, paramtypes);
74il.emit(opcodes.ret);
//返回值
75modulebuilder.createglobalfunctions();
7677
//取得方法資訊
78methodinfo methodinfo
=modulebuilder.getmethod(
"invokefun");
7980
return
methodinfo.invoke(
null
, objparams);
//呼叫方法,並返回其值81}
82catch
83finally
8487
}
C盤安裝Windows D盤安裝Linux
一塊硬碟,c盤安裝win7,d盤安裝centos,e盤它用。先安裝win7,然後按以下步驟安裝centos 一 準備工作 3 解壓centos和grub4dos,複製centos解壓目錄下的isolinux資料夾和grub4dos解壓目錄下的grldr grldr.mbr到c盤的根目錄下 4 在c盤...
C 動態呼叫WebService
使用示例 trycatch exception ex 類檔案 using system using system.web using system.xml using system.collections using system.net using system.text using system...
C 動態呼叫wsdl WebService
呼叫 wsdl email位址驗證 web 服務,通過查詢給定的電子郵件域的郵件伺服器和通過向郵件伺服器傳送資料來判斷電子郵件位址正確與否 輸入引數 emailaddress email 位址 預設smtp埠25 返回資料 byte 位元組。返回值 0 請重新驗證 1 郵件位址合法 2 只是網域名稱...