里面怎么調用API?
visualc#和其它開發工具一樣也能夠調用動態鏈接庫的API函數。.net框架本身提供了這樣一種服務,允許受管轄的代碼調用動態鏈接庫中實現的非受管轄函數,包括操作系統提供的windowsapi函數。它能夠定位和調用輸出函數,根據需要,組織其各個參數(整型、字符串類型、數組、和結構等等)跨越互操作邊界。
下面以c#為例簡單介紹調用api的基本過程:
動態鏈接庫函數的聲明
動態鏈接庫函數使用前必須聲明,相對于vb,c#函數聲明顯得更加羅嗦,前者通過apiviewer粘貼以后,可以直接使用,而后者則需要對參數作些額外的變化工作。
動態鏈接庫函數聲明部分一般由下列兩部分組成,一是函數名或索引號,二是動態鏈接庫的文件名。
譬如,你想調用user32.dll中的messagebox函數,我們必須指明函數的名字messageboxa或messageboxw,以及庫名字user32.dll,我們知道win32api對每一個涉及字符串和字符的函數一般都存在兩個版本,單字節字符的ansi版本和雙字節字符的unicode版本。