vs2008 建立ATL服務程式bug解決方法

2021-06-20 06:41:23 字數 810 閱讀 8430



今天使用vs2008 建立atl服務程式遇到以下錯誤:

使用的命令

1. atlserver /service

2.atlserver /unregserver

通過使用logevent 函式定位出錯的地方(服務除錯起來真的麻煩!),最後定位錯誤,增加此函式可以在系統日誌中,檢視相應的日誌。

在atlbase.h 在類

class atl_no_vtable catlservicemodulet

在hresult run(int nshowcmd = sw_hide) throw()

pt->runmessageloop();}

if (succeeded(hr))

return hr;

}函式中

增加 以下** 

if(hr==s_false)

hr=s_ok;、

服務成功執行起來,網上查知,這是vs2008的乙個bug,解決方法:

1. 在run函式中增加

if(hr==s_false)

hr=s_ok; 2.

stdafx.h中加入

#define_atl_no_com_support 3.

//微軟bug,微軟提供處理方法

//hr=catlservicemodulet::premessageloop(nshowcmd);

//workaround

//if(hr==s_ok&&!m_bdelayshutdown)

//hr=coresumeclassobjects();

(完)

vs2008 建立打包安裝程式

一 新建乙個windows 窗體應用程式,例如專案名為testwindows 功能略。新建的時候不要忘了建立解決方案。二 在testwindows 解決方案上 右擊 新增 新建專案 選擇 其他型別專案 安裝和部署 安裝專案 並命名為 setuptestwindows 確定後顯示如下圖所示 三 新增專...

VS2008建立共享程式集

1.首先新建乙個共享程式集 工程為visual c class library 建立完成後可以用命令 sn k mykey.snk 來增加強名 或者直接在專案屬性建立新簽名 編譯生成mydll 2.安裝共享程式集 gacutil l 顯示程式集快取中的所有程式集 gacutil i mydll 把共...

VS2008建立C 專案

hello,今天開始學c 用vs2008遇到的第乙個問題就是,新建乙個工程。新建工程 1 檔案 新建 專案 win32 win32控制台應用程式。2 輸入解決方案名稱 專案名稱 選好路徑點確定,然後下一步。3 這樣乙個新的專案就建好了。注意 1 要從 include stdafx.h 之後開始寫起,...