MFC編寫的串口程序爲什麼在別的電腦上打不開啊?

MFC的COM控件,你需要做的就是在你自己的電腦上搜索到這個文件:MSCOMM32.OCX

找到之後複製到另一臺機器的c:/windows/system32下,然後運行regsvr32 mscomm32.ocx 命令,就可以了。

【問】

那能在軟件啓動的時候去註冊這個控件嗎?如果可以,又如何註冊呢?

【答】

最好是弄個安裝包,打包ocx文件。

因爲即使你程序中註冊,也不能確保這個文件存在,並知道文件位置啊。

程序中註冊,在程序入口處,用DllRegisterServer 函數,也可以用ShellExecute執行命令行。但需要的支持代碼太多,首先要判斷判斷控件是否註冊了(通過訪問註冊表),然後要判斷ocx是否在合適的位置(這個可能還要手工),然後要找到windows標準目錄,最後註冊,這些都要用代碼實現。

//cstrDirectory 是指目錄,如:d:\Program Files (x86)\ocxdemo
ShellExecute(NULL, _T("open"), _T("cmd.exe"), _T("/C regsvr32 /u /s \"") + cstrDirectory + _T("\\ocxname.ocx\""), NULL, SW_HIDE);


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章