① mfc怎麼注冊
1. 你的窗口不能被顯示,可能的原因應該是調用創建窗口的函數參數有問題所致。
希望你能提供更多的信息,比如你是從哪個類繼承的,創建窗口的代碼是怎麼寫的。ASSERT錯誤附近3行代碼。
2. 構造函數和析構函數是protect意為 不希望你使用new、delete來創建銷毀對象。而是希望你能使用工廠函數來創建、通過銷毀函數來銷毀窗體對象。
MFC使用了動態創建對象技術。這樣根據CRuntimeClass中的信息,調用CreateObject可以創建不同的對象。 你的窗體應該是使用了動態創建宏的類。
我可以幫助你,你先設置我最佳答案後,我網路Hii教你。
② 我用MFC寫了一個程序,想學在等程序中加入機器碼來驗證該程序是否注冊,怎樣加
CString str1;
char buff[1024];
typedef int (WINAPI ICEPUB_MACHINEGETINFO)(int typeFlag,char *strInfo);
ICEPUB_MACHINEGETINFO *icePub_machineGetInfo = 0;
HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll");
if(hDLLDrv)
{
icePub_machineGetInfo = (ICEPUB_MACHINEGETINFO *)GetProcAddress(hDLLDrv, "icePub_machineGetInfo");
}
UpdateData(TRUE);
icePub_machineGetInfo(1,buff);
str1=buff;//mac
icePub_machineGetInfo(2,buff);
str1=str1+buff;//cpu
icePub_machineGetInfo(3,buff);
str1=str1+buff;//harddisk
icePub_machineGetInfo(4,buff);
str1=str1+buff;//memery
icePub_machineGetInfo(5,buff);
str1=str1+buff;//boarddate
AfxMessageBox(str1);
//md5到處是代碼,搜一下即可
VB版調用:
Private Declare Function icePub_machineGetInfo Lib "icePubDll.dll" (ByVal typeFlag As Integer, ByVal strInfo As String) As Integer
Dim str1 As String
Dim a2 As Integer
str1 = Space(1024*10)
a2 = icePub_machineGetInfo(1, str1)
MsgBox "mac:" + str1
a2 = icePub_machineGetInfo(2, str1)
MsgBox "cpu:" + str1
a2 = icePub_machineGetInfo(3, str1)
MsgBox "harddisk:" + str1
a2 = icePub_machineGetInfo(4, str1)
MsgBox "memery:" + str1
a2 = icePub_machineGetInfo(5, str1)
MsgBox "boarddate:" + str1
③ MFC怎麼注冊RegisterClass創建WNDCLASS
方式一,定義一個WNDCLASS結構實例,並對每個欄位進行初始化,然後調用::RegisterClass或者MFC的全局函數AfxRegisterClass注冊WNDCLASS。
如:
WNDCLASSwc;
wc.style=0;
wc.lpfnWndProc=(WNDPROC)WndProc;
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hInstance=hInstance;
wc.hIcon=LoadIcon(NULL,IDI_WINLOGO);
wc.hCursor=LoadCursor(NULL,IDC_ARROW);
wc.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
wc.lpszMenuName=NULL;
wc.lpszClassName="MyWndClass";
RegisterClassEx(&wc);
這種方式比較麻煩。
方式二:用MFC的全局函數AfxRegisterWndClass注冊WNDCLASS,不需要定義所有欄位,只需要關注其4個參數值。函數原型:LPCTSTR AfxRegisterWndClass(UINT nClassStyle,HCURSOR hCursor=0,HBRUSH hbrBackground=0,HICON hIcon=0);
第一個參數指定類樣式,定義窗口的某種操作特性;第二個參數指定窗口識別「類游標」;第三個參數指定窗口默認背景顏色,可以傳遞一個畫刷句柄,也可以指定一個預定義的Windows系統顏色並加1,第四個參數指定windows用來在桌面上、任務欄和其它地方代表應用程序的圖標句柄,可以自定義圖標然後載入,也可以載入系統圖標。
該函數返回一個包含WNDCLASS名稱的非空結尾字元串的指針,作用CreateEX函數的參數,用以創建窗口。
如:
CStringstrWndClass=AfxRegisterWndClass(CS_DBLCLKS,AfxGetApp()->LoadStandardCursor(IDC_ARROW),(HBRUSH)(COLOR_3DFACE+1),AfxGetApp()->LoadStandardIcon(IDI_WINLOGO));
CreateEx(0,strWndClass,_T("myprogram"),WS_OVERLAPPED|WS_SYSMENU|WS_CAPTION|WS_MINIMIZEBOX,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL);
註:決定窗口能否縮放的部份,是創建窗口是為窗口指定樣式的參數部份。
一般傳遞的參數是WS_OVERLAPPEDWINDOW,其定義如下:
#define WS_OVERLAPPEDWINDOW(WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME|WS_MINIMIZE|WS_MAXIMIZE);
其中WS_THICKFRAME樣式增加了一個其邊和角可以用滑鼠抓取並拖動的可調整大小的邊框,如果不定義這個樣式,則所生成的窗口不能縮放,此時,一般情況下是把最大化按鈕也撤消,即不定義WS_MAXIMIZE樣式。
④ MFC如何添加註冊碼,保存注冊碼
讀取硬碟或CPU序列號,再根據一定演算法生成一個注冊碼,放在注冊表中,軟體每次啟動檢測注冊碼是否正確
⑤ MFC如何創建注冊表的一個新鍵名
實測了一下,有兩個點你需要檢查一下。
一是Create的返回值,許可權不足時返回87,這個用vc6自帶的Error Lookup可以查到中文含義。正確執行時返回0。
二是32位程序創建成功的鍵位於HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\...以下,後面的相同。我用win10測的,估計win7也是如此。實在找不到,你就全文搜一下
⑥ vc 創建mfc app wizard六個步驟分別代表什麼
第一步,選擇文檔類型。有三個選項,單文檔,多文檔,對話框。單文檔就是像Windows記事本、Windows畫圖、Windows寫字板這樣的程序,一個程序只有一個文檔處於編輯狀態;多文檔指的是想Word,Excel這樣可以在一個MDI窗口裡面同時處理多個文檔的類型。對話框方式值得是像Windows掃雷、紙牌那樣直接在對話框進行操作的程序。 這一步還有一個選項,叫做Doc/View,指的是對於文檔處理來說,MFC可以提供一個數據結構,能夠自動存儲、編輯、瀏覽文件。可根據當前編寫的應用程序決定上述選項。
第二步,資料庫選項。可以選擇不需要資料庫、只需要頭文件、帶支持和不帶文件支持的數據視圖四個選項。如果需要用資料庫,那麼還可以直接用Data Source來選擇數據源,比如是本地資料庫文件還是一個伺服器上的資料庫
第三步,選擇文檔部件。這個可能比較難於理解,需要必要的ACTIVE X支持。簡單的說,就是這樣的:比如,當前WORD文檔需要嵌入一個EXCEL表格,然後你編輯這個WORD文檔內的表格,雙擊後就激活了EXCEL,編輯完成後退出EXCEL,又回到了WORD,這時候數據也被更新了。這種應用程序內可以再嵌套一個應用程序的技術被微軟公司稱為ACTIVE X。ActiveX的類型有容器性,多伺服器型,單伺服器型,同時可以作為容器和伺服器,等等。是哪一種應用真的需要認真學習一下。比如說上面的WORD嵌入EXCEL,那麼WORD相當於容器,EXCEL相當於伺服器;但是其實EXCEL被設計為同時可以作為容器和伺服器,到底怎麼理解,還得看你的程序的需求。至於最後兩個選項,自動化和ACTIVE X,指的是您可以選擇從本地計算機找到一些現成的ACTIVE X 控制項插入到本工程中去,比如上面的WORD控制項和EXCEL空間,當然還有很多,你如果用過VB就會更理解這個概念。
第四步,是比較簡單的,就是界面上的一堆工具條怎麼設計的問題,docking表示那種可以拖起來自動選擇合適位置放下去的工具條;Initial Status Bar表示初始化就有狀態條;Print那個表示列印和列印預覽;Context那個表示根據環境變化自動提供幫助的功能;3D表示控制項外觀立體化;MPI表示應用WINDOWS電郵消息機制;SOCKET表示使用WINDOWS socket 2.0 TCP/IP通信。再下面一個選項可以選擇外觀與IE瀏覽器是否一致,最後一個選項可以選擇菜單中顯示最近打開的4個文檔或者更多最近打開的文檔。在Advanced高級功能中,有一些關於本工程涉及的數據文件的用法,包括文件名後綴,在windows注冊表裡面登記信息,主窗體邊框風格等等
第五步,也算好理解,就是工程風格,是MFC標准(比如WORD)還是Windows Explore,左邊帶一個目錄樹,右邊是展開選項那種,然後下面四個選項是問是不是文檔中自動加註釋,以及MFC隨工程發布時使用的類型,是動態庫還是靜態庫,其實這個選項意義不大,但是效率上和部署上有些差異。
第六步,也就是最後一步,選擇主類的名稱、主類文件名、基類、文檔類等等。
上述六步,不是那麼容易簡單理解的,需要做幾個類型的應用程序才能徹底吃透,比如WORD類型的、網路伺服器類型的、資料庫應用類型的、IE類型的等等,一個例子消化不了這么多內容。
⑦ mfc窗口注冊、創建
首先從CXXXApp::InitInstance調用LoadFrame
BOOLCMyApp::InitInstance()
{
//......
//創建主MDI框架窗口
CMainFrame*pMainFrame=newCMainFrame;
if(!pMainFrame||!pMainFrame->LoadFrame(IDR_MAINFRAME))
returnFALSE;
//......
CCommandLineInfocmdInfo;
ParseCommandLine(cmdInfo);
//調度在命令行中指定的命令。如果
//用/RegServer、/Register、/Unregserver或/Unregister啟動應用程序,則返回FALSE。
if(!ProcessShellCommand(cmdInfo))returnFALSE;
}
LoadFrame是虛函數,沒有被重寫,所以調用CMDIFrameWnd::LoadFrame
BOOLCMDIFrameWnd::LoadFrame(UINTnIDResource,DWORDdwDefaultStyle,
CWnd*pParentWnd,CCreateContext*pContext)
{
if(!CFrameWnd::LoadFrame(nIDResource,dwDefaultStyle,
pParentWnd,pContext))
returnFALSE;
繼續調用CFrameWnd::LoadFrame
BOOLCFrameWnd::LoadFrame(UINTnIDResource,DWORDdwDefaultStyle,
CWnd*pParentWnd,CCreateContext*pContext)
{
//。。。
VERIFY(AfxDeferRegisterClass(AFX_WNDFRAMEORVIEW_REG));
//。。。
if(!Create(lpszClass,strTitle,dwDefaultStyle,rectDefault,
pParentWnd,MAKEINTRESOURCE(nIDResource),0L,pContext))
{
這里能看到 AfxDeferRegisterClass 和 Create
這里的Create調用了CFrameWnd::Create,其他的Create還有CMDIChildWnd和CWnd的
裡面調用到CreateEx,CreateEx幾乎沒有被重寫,調用的是CWnd::CreateEx
BOOLCWnd::CreateEx(DWORDdwExStyle,LPCTSTRlpszClassName,
LPCTSTRlpszWindowName,DWORDdwStyle,
intx,inty,intnWidth,intnHeight,
HWNDhWndParent,HMENUnIDorHMenu,LPVOIDlpParam)
{
//。。。
if(!PreCreateWindow(cs))
{
PostNcDestroy();
returnFALSE;
}
AfxHookWindowCreate(this);
HWNDhWnd=::CreateWindowEx(cs.dwExStyle,cs.lpszClass,
cs.lpszName,cs.style,cs.x,cs.y,cs.cx,cs.cy,
cs.hwndParent,cs.hMenu,cs.hInstance,cs.lpCreateParams);
接著調用PreCreateWindow後就是用CreateWindowEx創建窗口
BOOLCMDIFrameWnd::PreCreateWindow(CREATESTRUCT&cs)
{
if(cs.lpszClass==NULL)
{
VERIFY(AfxDeferRegisterClass(AFX_WNDMDIFRAME_REG));
cs.lpszClass=_afxWndMDIFrame;
}
returnTRUE;
}
這里也有個AfxDeferRegisterClass,它被宏替換後是AfxEndDeferRegisterClass,裡面就是注冊窗口類的代碼
其他類型的窗口也類似,就算LoadFrame沒有的話,PreCreateWindow也會調用注冊
另外如果是單文檔的話,沒有主框架,靠的是InitInstance里的ProcessShellCommand
cmdInfo構造時默認是FileNew
BOOLCWinApp::ProcessShellCommand(CCommandLineInfo&rCmdInfo)
{
BOOLbResult=TRUE;
switch(rCmdInfo.m_nShellCommand)
{
caseCCommandLineInfo::FileNew:
if(!AfxGetApp()->OnCmdMsg(ID_FILE_NEW,0,NULL,NULL))
OnFileNew();
這里發送ID_FILE_NEW,就算失敗也手動調用OnFileNew
之後就也是創建窗口
建議你裝vs2003或以後版本,用 轉到定義 檢查代碼就很容易看到了,vc6之前的版本可能有時不太好用
另外對於MFC建議你弄本《深入淺出MFC》看看
⑧ mfc注冊了如何取消注冊
清算
公司到登記機關辦理公司注銷程序之前一定要依法進行公司清算,包括終止生產經營銷售活動、了結公司事務、了結民事訴訟、清理債權和債務和分配剩餘財產等。
公司不論是何性質的清算,均應依下列步驟展開:
1、成立清算組。
2、展開清算工作。
清算組自成立之日起接管公司,開展以下業務: 接管公司財產、了結公司未了業務、收取債權、清理債務、分配剩餘財產、注銷公司法人資格並吊銷營業執照。
3、通知債權人申報債權。
4、提出清算方案。
清算組在清理公司財產、編制資產負債表和財產清單後,擬定提出清算方案,報股東會討論通過或者主管機關確認。 清算方案的主要內容有:清算費用、應支付的職工工資和勞動保險費、應繳納的稅款、清償公司債務、分配剩餘財產、終結清算工作。
在清算進行完以後,才能進行注銷。
登記
公司注銷過程需要分別去以下7個部門或機構辦理相應賬戶注銷:
1、社保局:核查是否有未繳清社保費用,然後注銷公司社保賬號。
2、稅務局:核查是否有未繳清稅款或費用,然後注銷公司的國、地稅。
3、報紙媒體:公司需自行登報公示,宣告公司即將注銷。
4、工商局:辦理公司注銷備案,注銷營業執照。
5、開戶行:注銷公司開戶許可證和銀行基本戶等其他賬戶。
6、質監局:到質監局注銷公司的許可證例如生產許可證。
7、公安機關:注銷公司印章的法律效應(印章本身可不上交)。
注銷材料
申請注銷前公司應開展公司清算,公司清算完成後便可進入公司注銷申請程序,清算後、注銷前公司需要出具和准備如下報告:
1、公司清算組負責人或公司法定代表人簽署的《公司注銷登記申請書》;
2、清算組成員《備案確認申請書》;
3、法院破產裁定、行政機關責令關閉的文件或公司依照《公司法》作出的決議;
有限責任公司提交股東會決議,股份有限公司提交股東大會決議。有限責任公司由代表三分之二以上表決權的股東簽署,股東為自然人的由本人簽字,自然人以外的股東加蓋公章;股份有限公司由代表三分之二以上表決權的發起人加蓋公章或者股東大會會議主持人及出席會議的董事簽字確認。
國有獨資有限責任公司提交出資人或出資人授權部門的文件。
因違反《公司登記管理條例》有關規定被公司登記機關依法撤銷公司設立登記的,提交公司登記機關撤銷公司設立登記的決定。
4、股東會或者有關機關確認的清算報告;』
5、刊登注銷公告的報紙報樣;
6、法律、行政法規規定應當提交的其他文件;
國有獨資公司還應當提交國有資產監督管理機構的決定,其中,國務院確定的重要的國有獨資公司,還應當提交本級人民政府的批准文件。
⑨ mfcclub怎麼注冊
1、首先從CXXXApp::InitInstance調用LoadFrame;
4、這里能看到 AfxDeferRegisterClass 和 Create了。
⑩ mfc理財怎麼加入 如何注冊成為會員
你說的這個平台沒有聽說過啊,不如選擇比較熱門的理財通,產品也比較多目前有:貨幣基金、定期理財、保險理財、指數基金四類產品,易方達基金易理財、廣發基金天天紅、匯添富基金全額寶、華夏基金財富寶;4種基金各有長處,適合不同類型的投資者。大家可以根據自己的實際情況去選擇一種適合自己的基金類型,都是收入比較穩定,幾乎沒有風險的穩健投資