Translate

星期六, 7月 28, 2012

C語言如何呼叫winapi

 C語言如何呼叫winapi [ 檢舉 ]
 發  問  者: 北鼻存錢筒 ( 初學者 5 級 )
發問時間: 2005-04-19 17:34:37   /   解決時間: 2005-04-21 15:02:04 
解答贈點:20  /  閱覽:601  /  回答:1  /  意見:2  /  正面評價:75% 

麻煩各位指導一下
C語言如何呼叫winapi,我有去借了一些winapi的書,可是我不會用C語言去呼叫.....能否來篇教學或網站

還有,有人會用這軟體嗎?
Allegro Game Library
http://alleg.sourceforge.net/

我卡在GNU MAKE那裡....,有試過的教學一下吧,有 勞了= =

這類的問題當然是20分送上 
2005-04-19 19:26:19 補充
windows.h = =?
我在turbo C編輯器裡找不到這東西耶
msdn 我很早以前就有找過了,問題我找不到= =
應該是說我不知要找什麼>"<
能詳盡麻煩再幫一下嗎....
有勞..... 2005-04-20 17:29:21 補充
MSDN Level 2

我有msdn 的sdk,裡面有附嗎???
還有您說這些東西都物件化了,那這些物件都放在哪裡呢???how can I use it?
因為我linux 用慣了,是徹底的微軟白痴.....(我用微軟的系統才3個月的時間= =....)
有勞您的解答 


      最佳解答      
  發問者自選
 回  答  者: 牧童哥 ( 研究生 5 級 )  [ 檢舉 ]
回答時間: 2005-04-19 18:41:29   /   修改時間: 2005-04-20 19:00:02   

基本上看你要使用那一個函數,載入相關的 include file 以及 library file 就可以使用了

其實大部份的函式只要 include windows.h 就可以了,至於網站,我想 MSDN 就可以解決你大部份的問題了

http://msdn.microsoft.com/

你是要用 C 寫 Windows 下的程式嗎?如果是的話,你要安裝 Windows Platform SDK (訂閱 MSDN Level 2 裡面就有了) 才能用。但目前大部份都是用 C++ 做,而這些 WINAPI 也都改以物件的方式存在了。所以你用 Turbo C 當然沒有這些東西,它只是 DOS 下的 C Compiler 而己

如果要用早期 Message Look 的方式寫 Windows 的程式,那安裝 Windows SDK 就可以用了。但現在 VC++ 是採用 MFC 的架構來開發 Windows 的程式,你可參考下圖的架構就知其龐大了




參考資料
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmfc98/html/_mfc_Hierarchy_Chart.asp

知識評價
  發問者評價:  
  謝謝您的解答喔,不知您是否可以給我即時通.....
我的是monasd1@yahoo.com.tw
有勞了.....,分數給您送上啦,您應得的^^


  網友評價: 75%   0%   25%    ( 目前有 4 人評價 ) 
您的評價:  正面   普通   負面     
     處理中,請稍候... 


      其他回答      
沒有其他回答


相關贊助連結
PhotoShop
在職進修
電腦教學
數位學習
Linux 


       意 見            
[ 補充意見 ]   龍 ( 初學者 2 級 )   2005-04-20 06:46:53 發表 [ 檢舉 ]
在VC裡你可以用LoadLibrary和GetProcAddress來用.DLL.牧童哥說的是用.lib才行.
不用BCC所以不知BCC怎樣用DLL.不過我看過Allegro的BCC Makefile.你應該可以把它compile成一個.lib檔.這樣你就可以用牧童哥的方法了

[ 補充意見 ]   大巧不工 ( 初學者 4 級 )   2005-04-22 14:16:08 發表 [ 檢舉 ]
如果您從來沒寫過 MS Windows 程式的話, 建議您買一本 Windows 程式設計入門來看, 想要寫 SDK 程式實在不是翻翻函數庫或看看輔助說明檔就能上手的, 有許多是觀念問題, 得一步步紮實地建立.
一般說來得花上幾個月的時間才能建立完整的 SDK 程式能力. 如果您只是一時想達到特定的小動作, 不想花太多時間, 不妨試試把問題貼上來, 也許有簡單的方法可以解決, 不必全盤瞭解 SDK.


沒有留言: