欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      C++程序啟動外部程序的方法總結(jié)

      時(shí)間:2019-05-13 19:47:29下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《C++程序啟動外部程序的方法總結(jié)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《C++程序啟動外部程序的方法總結(jié)》。

      第一篇:C++程序啟動外部程序的方法總結(jié)

      使用WinExec命令

      ⑴ 函數(shù)原型:

      UINT Win Exec(LPCSTR lpCmdLine, UINT uCmdShow);

      ⑵ 參數(shù):

      lpCmdLine:指向一個(gè)空結(jié)束的字符串,串中包含將要執(zhí)行的應(yīng)用程序的命令行(文件名加上可選參數(shù))。

      uCmdShow:定義Windows應(yīng)用程序的窗口如何顯示,并為CreateProcess函數(shù)提供STARTUPINFO參數(shù)的wShowWindow成員的值。

      ⑶ 返回值:

      若函數(shù)調(diào)用成功,則返回值大于31。若函數(shù)調(diào)用失敗,則返回值為下列之一:

      ① 0:系統(tǒng)內(nèi)存或資源已耗盡。

      ② ERROR_BAD_FORMAT:EXE文件無效(非Win32.EXE或.EXE影像錯(cuò)誤)。

      ③ ERROR_FILE_NOT_FOUND:指定的文件未找到。

      ④ ERROR_PATH_NOT_FOUND:指定的路徑未找到。

      雖然Microsoft認(rèn)為WinExec已過時(shí),但是在許多時(shí)候,簡單的WinExec函數(shù)仍是運(yùn)行新程序的最好方式。簡單地傳送作為第一個(gè)參數(shù)的命令行,還需要決定如何顯示程序(該程序也許會忽視它)的第二個(gè)參數(shù)。通常,將其設(shè)置為SW_SHOW,也可嘗試SW_MINIMIZED或SW_MAXIMIZED。WinExec不允許用CreateProcess獲得的所有選項(xiàng),而它的確簡單。

      使用ShellExecute命令

      ⑴ 函數(shù)原型:

      HINSTANCE ShellExecute(HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd);

      ⑵ 參數(shù):

      hwnd:指向父窗口的窗口句柄。此窗口接收應(yīng)用程序產(chǎn)生的任何信息框。

      lpOperation:一個(gè)空結(jié)束的字符串地址,此字符串指定要執(zhí)行的操作。下面的操作字符串是有效的:

      “open ” 此函數(shù)打開由參數(shù)lpFile指定的文件,此文件可以是一個(gè)可執(zhí)行文件或文檔文件,也可是一個(gè)文件夾。

      “print ” 此函數(shù)打印由參數(shù)lpFile指定的文件,此文件應(yīng)是一個(gè)文檔文件,假如此文件是一個(gè)可執(zhí)行文件,則打開此文件。

      “explore ” 此函數(shù)搜索由參數(shù)lpFile指定的文件夾,此文件應(yīng)是一個(gè)文檔文件,此參數(shù)可以為空。這種情況下,函數(shù)用于打開由參數(shù)lpFile指定的文件。

      lpFile:一個(gè)空結(jié)束的字符串地址,此字符串指定要打開或打印的文件或者是要打開或搜索的文件夾。

      lpParameters:假如參數(shù)lpFile指定一個(gè)可執(zhí)行文件,lpParameters則是一個(gè)空結(jié)束的字符串地址,此字符串指定要傳遞給應(yīng)用程序的參數(shù)。假如lpFile指定一個(gè)文檔文件,lpParameters應(yīng)為空。

      lpDirectory:一個(gè)空結(jié)束的字符串地址,此字符串指定默認(rèn)目錄。

      nShowCmd:假如lpFile指定一個(gè)可執(zhí)行文件,nShowCmd表明應(yīng)用程序打開時(shí)如何顯示。假如lpFile指定一個(gè)文檔文件,nShowCmd應(yīng)為空。

      ⑶ 返回值:

      若函數(shù)調(diào)用成功,則返回值大于32,否則為一個(gè)小于等于32的錯(cuò)誤值。

      說明:可以用此函數(shù)打開或搜索一個(gè)外殼文件夾。打開文件夾可用下面任何一種形式:

      ShellExecute(handle, NULL, path_to_folder, NULL, NULL, SW_SHOWNORMAL);

      ShellExecute(handle,搜索文件夾,可用如下形式

      “open ”, path_to_folder, NULL, NULL, SW_SHOWNORMAL);

      ShellExecute(handle,ShellExecute命令雖已過時(shí)但易于得到。該命令向命令解釋程序提出打開、瀏覽或打印文檔或文件夾的請求,雖然可以用ShellExecute運(yùn)行程序,但通常只發(fā)送文檔名,而命令解釋程序則決定要運(yùn)行那個(gè)程序。另外在打開目錄文件夾時(shí),ShellExecute命令非常有用。

      ⑷ 程序示例

      下面通過一個(gè)例子來說名WinExec和ShellExecute的使用。下面程序有控制臺程序示例,其使用兩種不同的方法,打開文本文件。下面程序使用WinExec,并明確指定使用記事本程序。然后,使用ShellExecute,打開文本文件。

      程序清單

      #include #include

      void main(int argc,char *argv[]){

      cout < <”O(jiān)pening with WinExecn”;

      if(WinExec(“notepad readme.txt”,SH_SHOW)<32)

      MessagBox(NULL,”Can’t WinExec”,NULL,MB_OK);

      cout < <”Press Entern”;

      MessagBox(NULL,”Press OK to continue”,”Progrm Launched”,MB_OK);

      cout < <”O(jiān)pening with ShellExecuten”;if(ShellExecute

      (NULL,”open”,”readme.txt”,NULL,NULL,SW_SHOW)<(HANDLE)32)

      MessagBox(NULL,”Can’t ShellExecuten”,NULL,MB_OK);}

      使用CreateProcess命令

      ⑴ 函數(shù)原型:

      BOOL CreateProcess(LPCTSTR lpApplicationName,LPTSTR lpCommandLine,LPSECURITY_ATTRIBUTES lpProcessAttributes,“explore ”, path_to_folder, NULL, NULL, SW_SHOWNORMAL);LPSECURITY_ATTRIBUTES lpThreadAttributes,BOOL bInheritHandles,DWORD dwCreationFlags,LPVOID lpEnvironment,LPCTSTR lpCurrentDirectory,LPSTARTUPINFO lpStartupInfo,LPPROCESS_INFORMATION lpProcessInformation);

      ⑵ 參數(shù):

      lpApplicationName:指向一個(gè)以空結(jié)尾的串,他指定了要執(zhí)行的模塊

      lpCommandLine:指向一個(gè)以空結(jié)尾的串,該串定義了要執(zhí)行的命令行。

      lpProcessAttributes:指向一個(gè)SECURITY_ATTRIBUTES結(jié)構(gòu),該結(jié)構(gòu)決定了返回的句柄是否可被子進(jìn)程繼承。

      lpThreadAttributes:指向一個(gè)SECURITY_ATTRIBUTES結(jié)構(gòu),該結(jié)構(gòu)決定了返回的句柄是否可被子進(jìn)程繼承。

      bInheritHandles,:表明新進(jìn)程是否從調(diào)用進(jìn)程繼承句柄。

      dwCreationFlags:定義控制優(yōu)先類和進(jìn)程創(chuàng)建的附加標(biāo)志。

      lpEnvironment:指向一個(gè)新進(jìn)程的環(huán)境塊。

      lpCurrentDirectory:指向一個(gè)以空結(jié)尾的串,該串定義了子進(jìn)程的當(dāng)前驅(qū)動器和當(dāng)前目錄。

      lpStartupInfo:指向一個(gè)STARTUPINFO結(jié)構(gòu),該結(jié)構(gòu)定義了新進(jìn)程的主窗口將如何顯示。

      lpProcessInformation:指向PROCESS_INFORMATION結(jié)構(gòu),該結(jié)構(gòu)接受關(guān)于新進(jìn)程的表示信息。

      ⑶ 返回值:

      若函數(shù)調(diào)用成功,則返回值不為0;若函數(shù)調(diào)用失敗,返回值為0。

      ShellExecute和WinExec命令用于簡單的作業(yè)。如果要完全控制一個(gè)新進(jìn)程,就必須調(diào)用CreateProcess。

      在上述參數(shù)中,參數(shù)lpStartupInfo是STARTUPINFO結(jié)構(gòu)??梢杂脕碓O(shè)置控臺的標(biāo)題,新窗口的的初始大小和位置,及重定向標(biāo)準(zhǔn)輸入和輸出。新程序通??梢院雎远鄶?shù)這些數(shù)據(jù)項(xiàng),如果選擇那樣做的話??梢砸?guī)定該結(jié)構(gòu)體中的標(biāo)志,已表明要設(shè)置的數(shù)據(jù)段。有時(shí),不想設(shè)置任何信息,也必須傳遞一個(gè)有效的指針給空結(jié)構(gòu)(確定設(shè)置大小到cb,及設(shè)置dwFlags成員為0)。參數(shù)lpProcessInformation返回進(jìn)程和線程句柄,還包括進(jìn)程和線程ID。這些句柄擁有在參數(shù)lpProcessAttributes和lpThreadAttributes中規(guī)定的訪問。

      要注意,針對CreateProcess的一些參數(shù)對控制臺應(yīng)用程序是特定的,而其它參數(shù)則對各種應(yīng)用程序有用。大多數(shù)情況下,并不一定要填入STARTUPINFO結(jié)構(gòu),但無論如何必須提供它。其返回值是布爾型的,而真正感興趣的返回值發(fā)生于作為參數(shù)傳送的結(jié)構(gòu)中(PROCESS_INFORMATION)。CreateProcess返回該結(jié)構(gòu)中的進(jìn)程ID及其句柄,以及初始線程ID及其句柄。可以將ID發(fā)送到其它進(jìn)程,或使用句柄來控制新進(jìn)程。

      也可以考慮

      C 函數(shù):

      system()

      spawn()函數(shù)系列

      exec()函數(shù)系列

      c++ 啟動exe(外部程序)收藏 關(guān)于三個(gè)SDK函數(shù): WinExec,ShellExecute,CreateProcess 的其他注意事項(xiàng): 【1】定義頭文件

      必須定義以下兩個(gè)頭文件:

      #include // 可替換為 windows.h #include 如果定義了頭文件 #include 的話就不必定義 #include 了。【2】定義路徑

      C++中所表示的路徑要用 “ ”而不是平常所用的“ ”,所以以上三個(gè)函數(shù)表示路徑都為:disk:Directory...File name WinExec(“D:Program FilesTestTest.exe”,SW_SHOWMAXIMIZED);ShellExecute(NULL,“open”,“C:Test.txt”,NULL,NULL,SW_SHOWNORMAL);

      1、調(diào)用API: int system(const char *command);

      你可以傳入一命令,啟動某個(gè)程序。如“ping 004km.cn”, “YourExe”等等

      不過這里有幾點(diǎn)要值得注意:

      (1)、他不會立即返回,直到你啟動的程序執(zhí)行完成。

      (2)、如果你啟動是windows程序,它仍然會啟動一個(gè)控制臺,這就給人感覺太差勁了,但如果本身是控制臺的,而且又需要等待它的完成,那這將是比較好的選擇。

      (3)、它的返回值代表是否執(zhí)行成功以及程序的退出碼。

      (4)、不能運(yùn)行*.txt文件或“004km.cn”

      2、調(diào)用API:

      UINT WinExec(LPCSTR lpCmdLine, // command line

      UINT uCmdShow // window style);

      這個(gè)API與API:system同樣的使用簡單,同用是使用命令行型式。

      不過它與API:system相比,有幾個(gè)優(yōu)點(diǎn):

      (1)、它將啟動了一個(gè)新進(jìn)程,并且立即返回,因此你的程序無需等待。

      (2)、它的多了一個(gè)參數(shù):uCmdShow,通過它你可以一定程度上控件窗體的顯示,比如讓它后臺運(yùn)行而不顯示出來。

      (3)、它無論啟動控制臺程序還是windows程序都只做你想要做的事。

      它的不足之處:

      (1)、它完全與本進(jìn)程脫離,無法對做些必要的控制

      (2)、無法得知啟動的程序是否退出。

      (3)、得不到啟動的程序的退出碼。

      (4)、不能運(yùn)行*.txt文件或“004km.cn”

      3、調(diào)用:

      HINSTANCE ShellExecute(HWND hwnd,LPCTSTR lpVerb,LPCTSTR lpFile,LPCTSTR lpParameters,LPCTSTR lpDirectory,INT nShowCmd);

      它也有WinExec同樣的缺點(diǎn)。

      它雖然傳回一個(gè)HINSTANCE,但他并不是真正的句柄,我們僅能拿它來做一些錯(cuò)誤值檢查。

      但它的功能比前兩者更強(qiáng)大,它執(zhí)行系統(tǒng)的Shell命令。1、2中如果傳入“XX.txt”,它們將不能成功執(zhí)行,ShellExecute卻能很好地執(zhí)行,它將啟動一個(gè)默認(rèn)的文字處理程序來打開它。1、2中如果傳入“004km.cn”,將不能成功執(zhí)行,而ShellExecute卻能很好地執(zhí)行,它將啟動一個(gè)默認(rèn)瀏覽器來打開這個(gè)網(wǎng)站。

      參數(shù)講解:

      參數(shù)1 hwnd:一窗體句柄,將作為啟動的程序的父窗體。

      參數(shù)2 lpVerb:你想執(zhí)行的操作(edit、explore、find、open、print、properties),你也可以傳入NULL值,它將執(zhí)行默認(rèn)操作(win2000以前與以后處理略有差別,請見MSDN)。

      參數(shù)3 lpFile:一文件名或操作的對象。

      參數(shù)4 lpParameters:如果lpFile是一可執(zhí)行文件,這個(gè)將作為它的參數(shù)。它的格式由執(zhí)行的操作決定。而且當(dāng)lpFile為一document文件時(shí),此參數(shù)需為NULL。

      參數(shù)5 lpDirectory:指定它的工作目錄。

      參數(shù)6 nShowCmd:窗體顯示的控制。

      以下是幾個(gè)例子:

      //啟動一個(gè)Dos命令, 啟動windows程序相同

      ::ShellExecute(this->GetSafeHwnd(), NULL, “ping”, “004km.cn”, NULL, SW_SHOWNORMAL);

      //打開一個(gè)文件

      ::ShellExecute(this->GetSafeHwnd(), “open”, “ReadMe.txt”, NULL, NULL, SW_SHOWNORMAL);

      //上面的動詞可傳可不傳,但如果“ReadMe.txt”為“ReadMe.bat”那就得指定,否則將會當(dāng)命令執(zhí)行,而不是打開它。

      //可打開目錄

      ::ShellExecute(this->GetSafeHwnd(), “open”, “c:”, NULL, NULL, SW_SHOWNORMAL);

      //可打開網(wǎng)頁

      ::ShellExecute(this->GetSafeHwnd(), “open”, “004km.cn”, NULL, NULL, SW_SHOWNORMAL);

      //瀏覽一個(gè)目錄

      ShellExecute(handle, “explore”, “c:”NULL, NULL, SW_SHOWNORMAL);

      //查看一個(gè)文件或目錄的屬性

      //使用ShellExecuteEx,實(shí)現(xiàn)請見所附源碼對應(yīng)部分

      如果沒有特殊的控制要求,它己能為我們做很了,但當(dāng)我們一定要能控件這個(gè)啟動的進(jìn)程時(shí),那我們就得使用第4點(diǎn)了。

      4:調(diào)用API:

      BOOL CreateProcess(LPCTSTR lpApplicationName, // name of executable module

      LPTSTR lpCommandLine, // command line string

      LPSECURITY_ATTRIBUTES lpProcessAttributes, // SD

      LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD

      BOOL bInheritHandles, // handle inheritance option

      DWORD dwCreationFlags, // creation flags

      LPVOID lpEnvironment, // new environment block

      LPCTSTR lpCurrentDirectory, // current directory name

      LPSTARTUPINFO lpStartupInfo, // startup information

      LPPROCESS_INFORMATION lpProcessInformation // process information);

      往往看到這個(gè)函數(shù)就讓人生畏,它參數(shù)多,而且參數(shù)類型也如此莫生。是的,正是因?yàn)槿绱怂殴δ軓?qiáng)大!

      但不要怕,作為一般使用,非常簡單!下面便是一個(gè)簡單的例子(啟動記事本):

      STARTUPINFO StartInfo;PROCESS_INFORMATION pinfo;//對程序的啟動信息不作任何設(shè)定,全部清0 memset(&StartInfo,0,sizeof(STARTUPINFO));StartInfo.cb = sizeof(STARTUPINFO);//設(shè)定結(jié)構(gòu)的大小

      BOOL ret=CreateProcess(NULL, //啟動程序路徑名

      “notepad.exe”, //參數(shù)(當(dāng)exeName為NULL時(shí),可將命令放入?yún)?shù)前)

      NULL, //使用默認(rèn)進(jìn)程安全屬性

      NULL, //使用默認(rèn)線程安全屬性

      FALSE,//句柄不繼承

      NORMAL_PRIORITY_CLASS, //使用正常優(yōu)先級

      NULL, //使用父進(jìn)程的環(huán)境變量

      NULL, //指定工作目錄

      &StartInfo, //子進(jìn)程主窗口如何顯示

      &pinfo);//用于存放新進(jìn)程的返回信息

      這樣在創(chuàng)建成功這后我們就可以從pinfo中找到它的:進(jìn)程句柄,線程句柄,進(jìn)程ID,線程ID

      在附件源碼中演示了進(jìn)程序的啟動,停止。

      實(shí)際上我們可以通過很多方式如內(nèi)存共享、父進(jìn)程窗體句體傳入仍后從消息中獲得子進(jìn)程窗體句柄等,來實(shí)現(xiàn)更多的控制。

      想很好地掌握CreateProcess,可參見人民郵電出版社出版的<< Windows系統(tǒng)編程 >>,它的“進(jìn)程”部份作了很詳盡的說明。

      例程: #include #include #include void main(){

      HWND handle;

      printf(“Function :nIt can run a cmd command,but can`t open *.txt and ”004km.cn“,NULL,NULL,SW_SHOWNA);

      getchar();

      printf(”Run a cmd command:ping 004km.cnn“);

      ShellExecute(NULL, NULL, ”ping“, ”sina.com“, NULL, SW_SHOWNORMAL);

      getchar();

      printf(”打開目錄n“);

      ShellExecute(NULL, ”open“, ”c:“, NULL, NULL, SW_SHOWNORMAL);

      getchar();

      printf(”瀏覽目錄n“);

      ShellExecute(NULL, ”explore“, ”c:“, NULL, NULL, SW_SHOWNORMAL);

      getchar();

      printf(”文件屬性n“);

      ShellExecute(handle,”properties“,”C: est.txt“,NULL,NULL,SW_MINIMIZE);

      printf(”%s",handle);

      }

      /*shellExecute的第二個(gè)參數(shù)為你想執(zhí)行的操作(edit,explore,find,open,print,properties),也可為NULL*/ } /* SW_HIDE Hides the window and passes activation to another window.SW_MINIMIZE Minimizes the specified window and activates the top-level window in the system's list.SW_RESTORE Activates and displays a window.If the window is minimized or maximized, Windows restores it to its original size and position(same as SW_SHOWNORMAL).SW_SHOW Activates a window and displays it in its current size and position.SW_SHOWMAXIMIZED Activates a window and displays it as a maximized window.SW_SHOWMINIMIZED Activates a window and displays it as an icon.SW_SHOWMINNOACTIVE Displays a window as an icon.The window that is currently active remains active.SW_SHOWNA Displays a window in its current state.The window that is currently active remains active.SW_SHOWNOACTIVATE Displays a window in its most recent size and position.The window that is currently active remains active.SW_SHOWNORMAL Activates and displays a window.If the window is minimized or maximized, Windows restores it to its original size and position(same as SW_RESTORE).*/

      第二篇:C++程序筆記

      一:'CRecordset' : base class undefined

      解決方法:在工程的StdAfx.h頭文件中添加:#include

      二: m_dlg.m_database.Open(_T(“addresslist”));// 這個(gè)在編譯時(shí)會出現(xiàn)錯(cuò)誤,解決辦法:可以同上:#include

      三:建了一個(gè)控件,但想在類向?qū)Ю锩娑x該控件的函數(shù)時(shí)找不到控件ID號(原因:是因?yàn)樾薷牧酥鲗υ捒虻腎D號)

      主對話框.h 中把emun{中改成相應(yīng)的ID_Dlg}

      四:設(shè)置窗體背景的顏色:

      在主窗體APP文件里代碼:SetDialogBkColor(RGB(200,223,200),RGB(0,0,255));

      五:CAddressDlg::OnClose()

      這個(gè)函數(shù)里面有KillTimer(0).六:連接數(shù)據(jù)庫,m_recordset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);//從數(shù)據(jù)庫中查找,輸入的密碼是否正確

      七:當(dāng)控件在類向?qū)Ю餂]有顯示其ID號時(shí),將其屬性里的組勾選即可~

      說明:這里跟三不同

      八:不能訪問類查看信息文件 解決辦法

      解決辦法為:刪除掉目錄中clw及ncb文件,再打開,就可以了。

      九:當(dāng)單擊右鍵沒看到“Add Windows Message Handler”時(shí),更換.clw/.ncb文件即可

      十:單步調(diào)試到RefreshData()時(shí)總是出現(xiàn)“FROM 語法錯(cuò)誤”

      解決辦法:完成MainDlg()里面的顯示工作區(qū)表格的代碼后,這個(gè)問題沒有了。

      十一:Visual Assist X這是一個(gè)軟件,可以幫助C++有個(gè)更友好的顯示界面。

      十二:實(shí)現(xiàn)窗體的伸縮功能:

      OnRadioSearch();SizeWindow();

      十三:Address工程里,當(dāng)點(diǎn)擊右邊修改記錄時(shí),會出現(xiàn)系統(tǒng)報(bào)錯(cuò)

      解決辦法:

      對修改記錄所需彈出的窗口進(jìn)行完整,像在類向?qū)Ю锩嫣砑犹幚砀鞣N消息的函數(shù)

      十四:AboutDlg彈出窗口設(shè)計(jì)一直說AboutDlg

      最后新建了一個(gè)CAboutdlg1,并修改源代碼,最后功能實(shí)現(xiàn)了

      初步查找原因:元工程里面缺少的類CAboutDlg定義在AddressDlg.cpp里面,這才是原因,CAboutDlg應(yīng)該需要定在Aboutdlg.h里面才行~

      嗯!驗(yàn)證了,就是這個(gè)原因。

      其實(shí)沒有這么復(fù)雜:只要按照錯(cuò)誤的提示建立自己的類啊、頭文件啊、CPP文件就好了~~~

      十五:AddInfo窗體錄入數(shù)據(jù)出錯(cuò):說“姓名一定要填寫!然后出現(xiàn)系統(tǒng)錯(cuò)誤”解決辦法:

      一下兩個(gè)地方的 // NOTE: the ClassWizard will add member initialization here需要填寫?。。?/p>

      1.CAddInfoDlg::CAddInfoDlg(CWnd* pParent /*=NULL*/)

      : CDialog(CAddInfoDlg::IDD, pParent)

      2.void CAddInfoDlg::DoDataExchange(CDataExchange* pDX)

      這里如果缺少1,會出現(xiàn)下面的系統(tǒng)錯(cuò)誤:

      由于將在索引、主關(guān)鍵字、或關(guān)系中創(chuàng)建重復(fù)的值,請求對表的改變沒有成功。改變該字段中的或包含重復(fù)數(shù)據(jù)的字段中的數(shù)據(jù),刪除索引或重新定義索引以允許重復(fù)的值并再試一次。

      十六:模糊查詢及精確查詢均用不了:都顯示“請輸入關(guān)鍵字”

      在差錯(cuò)過程中完整如下代碼后出現(xiàn)系統(tǒng)錯(cuò)誤

      BOOL CMainDlg::PreTranslateMessage(MSG* pMsg)

      十七:組合框設(shè)置默認(rèn)值實(shí)現(xiàn)不了~

      可實(shí)現(xiàn)的方法(但是在我的程序里沒用?。?/p>

      //默認(rèn)“姓名”項(xiàng)被選中

      m_ctrlfield.SetCurSel(0);

      成功實(shí)現(xiàn),關(guān)鍵:將SetCurSel()函數(shù)放在AddString()后面就可以了

      十八:當(dāng)加入DoDataExchange(CDataExchange* pDX)時(shí)中的代碼時(shí),運(yùn)行報(bào)系統(tǒng)錯(cuò)誤,編譯沒問題,已移植問題文件夾~

      相關(guān)發(fā)現(xiàn):在定義整形變量時(shí)有一種整形變量的description是:

      int with validation(FOREIGN VALIABLE)這種變量的定義方法是

      在DoDataExchange()函數(shù)中使用如下語句:

      DDX_FieldText(pDX, IDC_CATNUM, m_pSet2->m_cat, m_pSet2);

      當(dāng)在CTestDBDoc.h文件中申明CMyRSet m_MyRSet;后便可以定義上述變量。

      十八_2: DDX_FieldText()不知道怎么產(chǎn)生;

      十九:ADOTest窗口彈不出來

      解決方法:在建立MFC工程的時(shí)候?qū)⑦x項(xiàng)里的Base類由CView改為CFormView

      二十:如何定義_ConnectionPtr型變量

      在stdafx.h文件中加入代碼:#import “c:program filescommon filessystemadomsado15.dll” no_namespace rename(“EOF”,“adoEOF”)

      見博客:#post

      二十一:當(dāng)寫到try{}是出現(xiàn)錯(cuò)誤

      解決方法:在后面添加catch{}代碼,因?yàn)閠ry與catch對應(yīng)__try與__finally;try模塊后面要跟上catch

      二十二:ADOTest連接數(shù)據(jù)庫失敗

      原因:ADOTest1.cpp中

      hr = m_pConnection->Open(“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb”,“",”",adModeUnknown);///連接數(shù)據(jù)庫

      數(shù)據(jù)庫test.mdb沒有建立。

      二十三:ADOTest刪除按鍵為灰色框扭按不下去。無語了:原來是沒有選中要被刪除的選項(xiàng)

      不過要將OnItemchangedUserlist()中的代碼添加完全

      二十四:Address的Login對話框類中的消息處理函數(shù)WM_Close有什么用WM_CLOSE是可選的,可以給你一個(gè)機(jī)會決定關(guān)不關(guān)

      WM_DESTROY你沒有得選擇,因?yàn)镈estroyWindow已經(jīng)調(diào)用,窗口已經(jīng)開始銷毀。

      二十五:使用CDataBase類定義對象時(shí)出現(xiàn)問題,原因是沒有定義這個(gè)類在添加CPersonSet類后問題很多很多:有26個(gè)此類錯(cuò)誤

      見“一”

      二十六:出現(xiàn)如:'m_database' : is not a member of 'CAddInfoDlg'的錯(cuò)誤提示時(shí)應(yīng)在CAddInfoDlg中定義m_database量

      二十七:點(diǎn)擊查詢后沒有反應(yīng),不管精確查詢還是模糊查詢

      原來是OnRadio1()中的 m_bsearchflag沒有賦值

      第三篇:c++程序?qū)嵙?xí)報(bào)告

      針對我們這學(xué)期學(xué)的c++,假期進(jìn)行了五天的實(shí)習(xí)。第一天聽老師講實(shí)習(xí)內(nèi)容和提示的時(shí)候覺得思路挺明確的一個(gè)程序,哪有傳說中的那么難。下午和同學(xué)討論的時(shí)候覺得很有目的,只要按部就班的完成各步操作就可以了,有難度的也只是第二步。這一步要進(jìn)行判斷,這就需要多個(gè)輸出函數(shù);還要冒泡法給工作排序,工資的計(jì)算不是在類中完成的——挺棘手的一個(gè)問題。

      第二天上機(jī)的時(shí)候也很快完成了第一步,覺得還行,慢慢來五天完全可以完成。后來也就沒怎么好好思考,沒想到第二天遇到麻煩了,編不出第二步了。第三天下午也沒調(diào)試好,第一步輸入的數(shù)據(jù)在第二步統(tǒng)計(jì)的時(shí)候怎么也數(shù)不出來,我從頭至尾研究了多次,沒發(fā)現(xiàn)一點(diǎn)問題,請舍友幫我檢查也說沒錯(cuò),到了傍晚還是看不出來。哎!又找一個(gè)人給我看了看,竟然錯(cuò)得那么幼稚,類外定義了全局對象,在數(shù)據(jù)輸入put()函數(shù)里又重新定義了對象,這樣在put()輸入的數(shù)據(jù)無法用到其他函數(shù)中,自然統(tǒng)計(jì)的時(shí)候都是默認(rèn)值了。

      就這么一個(gè)小小的錯(cuò)誤整得我一天一晚上寢食難安。

      編程序時(shí)深深感受到要不得半點(diǎn)馬虎,有時(shí)少一個(gè)“}”或“<”都會導(dǎo)致程序語法錯(cuò)誤;由于編程序經(jīng)常要變換輸入法,很容易輸進(jìn)中文字符,這也會導(dǎo)致語法錯(cuò)誤;調(diào)用類里重名函數(shù)時(shí)要注明屬于哪個(gè)類的。

      第三天的時(shí)候第二步基本都編出來了,傍晚那時(shí)我沒檢查出錯(cuò)誤來的時(shí)候,實(shí)在是把我急壞了,借了臺電腦,在那安靜專心的研究程序,舍友幫我檢查出錯(cuò)誤來之后,編程序有了感覺,那時(shí)已經(jīng)22:00多了,竟然沒有一絲睡意。

      后來舍友們陸續(xù)睡覺了,可我就是不愿睡??赡苁浅鲇谧宰鹦男枰?,別人都編出來了,自己編不出來,讓我無法接受;也可能是第二步出來了急于盡快搞定。從19:00到凌晨4:00一直在那兒編程序了,一次次地聽到鈴聲響竟然沒有上床睡覺的沖動,滿腦袋只有一個(gè)想法:認(rèn)真編程序,爭取晚上搞定。后來差不多了,只有備份不怎么完善,當(dāng)時(shí)電腦已經(jīng)用了好長時(shí)間了,實(shí)在不忍心一直用人家的電腦,只好關(guān)機(jī)睡覺了。

      這幾天可以說是兩耳不聞窗外事,一心只顧編程序了,電話都懶得打,只想盡快把程序搞定,晚上沒有電腦用,我們?nèi)齻€(gè)女生就去網(wǎng)吧,只是那兒沒有vusual-c++,只好作罷。

      雖然我們一直在編程序,覺得挺累的,其實(shí)還有比我們更累的——我們的老師。我們是每天只有半天的實(shí)習(xí)時(shí)間,可是老師卻整天在機(jī)房里,看得出來,老師連坐下休息的時(shí)間都沒有,剛要喝點(diǎn)水,立馬就被一個(gè)同學(xué)叫去了,實(shí)習(xí)完那天下午看見老師都不想走路了。太累了,一天站7小時(shí),還一直給別人檢查程序,太忙了。想想老師這么認(rèn)真,我們還有什么理由不認(rèn)真呢?

      只有五天的實(shí)習(xí),卻讓我受益匪淺:這不僅是一次對我們的c++掌握和運(yùn)用的熟練程度的檢查,更是一次磨練我們耐性、培養(yǎng)認(rèn)真態(tài)度的機(jī)會。這次實(shí)習(xí)讓我深刻體會到“細(xì)節(jié)決定成敗,態(tài)度決定一切”;更讓我 從 老師身上學(xué)到了很多在以后工作中需要的優(yōu)秀品質(zhì)。相信這會在我今后的學(xué)習(xí)和以后的工作很有幫助。

      通過完成本次面向?qū)ο蟪绦蛟O(shè)計(jì)的任務(wù),使我熟練和掌握了上學(xué)期所學(xué)的有關(guān)visual c++中的一些主要知識點(diǎn)和應(yīng)用點(diǎn),如類的定義,類的實(shí)現(xiàn),對象的定義,類的繼承等等??梢运鶎W(xué)有所學(xué),所有所用,不至于自己所學(xué)知識由于沒有經(jīng)歷可用過程,而放棄對它的興趣。

      第一天上課時(shí)候聽老師講,第一反應(yīng)是這可怎么做了。當(dāng)時(shí)有些迷茫。但是事在人為,下午回去之后在宿舍苦心研究,終于在整體上有了一定的把握。我們可以先定義一個(gè)基類,再派生三個(gè)子類,然后在類外定義函數(shù)。有人數(shù)規(guī)定,我們就定義相應(yīng)長度的對象數(shù)組,最后在實(shí)現(xiàn)程序功能時(shí),用函數(shù)調(diào)用就行。

      于是當(dāng)晚很快就完成了第二天的預(yù)習(xí)報(bào)告,上機(jī)調(diào)試時(shí)也沒什么大問題,就這樣第二天順利通過。

      雖說接下來的統(tǒng)計(jì)沒那么容易,但就順著數(shù)據(jù)順利輸入的喜悅心情,我還是較好的完成了這個(gè)任務(wù)。在類外定義一個(gè)函數(shù)用來輸出雇員的基本情況,表頭,表尾直接在統(tǒng)計(jì)函數(shù)中輸出,也就是在統(tǒng)計(jì)函數(shù)中調(diào)用函數(shù)。打印與統(tǒng)計(jì)有異曲同工之妙,所以在統(tǒng)計(jì)做出之后,打印自然而然的也就很快完成了。

      接下來的數(shù)據(jù)備份中,遇到了一個(gè)小問題,一開始以為也是函數(shù)中調(diào)用打印函數(shù)中用的那函數(shù)。其實(shí)不然,如若那樣,又變成了打印。那我們就直接輸出,但詳細(xì)資料是受保護(hù)的,不能直接輸出,那還得調(diào)用函數(shù)。于是在每個(gè)類中的公共成員中定義了直接返回的函數(shù),接下來順利完成了備份。調(diào)用頭文件

      里的exit(int)函數(shù),可以用if()語句進(jìn)行判斷是否確定退出。程序順利完成。

      面向?qū)ο蟪绦蛟O(shè)計(jì)作為一門軟件設(shè)計(jì)的課程,具有極強(qiáng)的實(shí)踐性,使我加強(qiáng)了靈活應(yīng)用理論知識的能力及面向?qū)ο蟪绦蛟O(shè)計(jì)技能。

      此次,應(yīng)用程序的設(shè)計(jì)和創(chuàng)建,經(jīng)歷了平時(shí)在課堂中和考試中,決不會有的重重難題和問題。而這些問題,又都是課本上很少提到的、更深一層的知識領(lǐng)域和應(yīng)用領(lǐng)域。這些問題,并不是我們平時(shí)只靠課本,就可以輕易解決的。所以,鍛煉了我們面對難題,自己思索,自己探索,自己查資料發(fā)現(xiàn)問題、解決問題的獨(dú)斷能力。

      當(dāng)然,此次任務(wù)的完成,也體現(xiàn)出同學(xué)之間的團(tuán)結(jié)精神。所遇種種難以解決的問題,大家都會把它當(dāng)作共同遇到的問題,在一起共同探討,共同發(fā)揮自己所學(xué)和所知,投入式的互相幫助和解決困難。

      第四篇:啟動儀式程序

      “安全教育月”活動

      啟動儀式

      主 持 人:劉洋 參加人員:全體師生 活動議程:

      1、劉洋校長介紹到會領(lǐng)導(dǎo),宣讀活動議程。

      2、馬鵬主任宣讀《東沙河鎮(zhèn)學(xué)校、幼兒園秋季“安全教育月”活動方案》的通知。

      3、馬鵬主任宣讀《堌堆小學(xué)小學(xué)“安全教育月”活動實(shí)施方案》。

      4、少先隊(duì)代表張睿作安全倡議書。

      5、王德泉校長作安全教育月重要講話。

      6、劉洋校長作活動總結(jié)。

      東沙河鎮(zhèn)堌堆小學(xué) 二〇一七年二月

      第五篇:啟動儀式程序

      新墩鎮(zhèn)“學(xué)習(xí)雷鋒好榜樣 共建和諧新新墩”

      啟動儀式程序

      (主持人介紹參加本次活動的領(lǐng)導(dǎo))

      1、鎮(zhèn)中心學(xué)校負(fù)責(zé)人講話(李校長)

      2、青年志愿者代表宣讀學(xué)雷鋒活動倡議書(馮海睿)

      3、鎮(zhèn)中心學(xué)校閆書記安排三月份學(xué)雷鋒活動實(shí)施方案

      4、請鎮(zhèn)政府代鎮(zhèn)長宣布新墩鎮(zhèn)學(xué)雷鋒志愿服務(wù)月活動正

      式啟動。

      5、舉行“學(xué)習(xí)雷鋒好榜樣 共建和諧新新墩”簽名活動(儀

      式結(jié)束后,在鎮(zhèn)政府門口志愿者集中服務(wù)點(diǎn)進(jìn)行簽名)

      6、學(xué)雷鋒主題活動開始(要求老師全程參與,負(fù)責(zé)活動過

      程中的學(xué)生安全)

      下載C++程序啟動外部程序的方法總結(jié)word格式文檔
      下載C++程序啟動外部程序的方法總結(jié).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        火車訂票系統(tǒng)c++程序

        /* 頭文件 */ #include //標(biāo)準(zhǔn)輸入、輸出頭文件 #include //包含字符串函數(shù)處理頭文件 #include //包含動態(tài)存儲與釋放函數(shù)頭文件 /* 宏定義 */ #define GESHI " 車次 站數(shù)......

        c++程序畢業(yè)實(shí)習(xí)報(bào)告

        針對我們這學(xué)期學(xué)的c++,假期進(jìn)行了五天的實(shí)習(xí)。第一天聽老師講實(shí)習(xí)內(nèi)容和提示的時(shí)候覺得思路挺明確的一個(gè)程序,哪有傳說中的那么難。下午和同學(xué)討論的時(shí)候覺得很有目的,只要按......

        C++復(fù)習(xí)題 程序填空[五篇]

        2009-2010學(xué)年第一學(xué)期《C++程序設(shè)計(jì)》期末考試復(fù)習(xí)題周景春 程序填空(10分) 1. 使執(zhí)行結(jié)果為100 #include class Test { public: Test(int aa){ (○1)}int Getx{ (○2) } priva......

        如何啟動醫(yī)療事故技術(shù)鑒定程序

        如何啟動醫(yī)療事故技術(shù)鑒定程序啟動醫(yī)療事故技術(shù)鑒定程序有兩種方式: 一、衛(wèi)生行政部門移交鑒定 這種啟動方式適用于兩種情況:醫(yī)療機(jī)構(gòu)發(fā)生重大醫(yī)療過失行為和醫(yī)患雙方 一方當(dāng)......

        論司法鑒定啟動程序(范文模版)

        論司法鑒定啟動程序 內(nèi)容摘要:司法鑒定啟動程序是進(jìn)行司法鑒定活動的重要內(nèi)容,兩大法系在其啟動模式上存在許多不同,通過比較和評價(jià),結(jié)合我國司法鑒定啟動程序的現(xiàn)狀和問題,最后......

        冬季長跑啟動程序

        華豐鎮(zhèn)中心小學(xué) 陽光體育冬季長跑活動啟動儀式程序 老師們、同學(xué)們: 生命在于運(yùn)動,健康離不開鍛煉,有了健康的體魄,才可能擁有未來的幸福生活。為積極響應(yīng)教育部、國家體育總局......

        再審程序的啟動

        三)再審程序的啟動 分類:民訴法彩色筆記 2007-09-29 21:01 (三)再審程序的啟動1、基本問題 (1)適用于再審的裁判 1)判決——訴訟程序的判決可以再審;非訟程序和特別程序不能再審 2)裁......

        北科大暑期C++程序?qū)嵺`心得

        北科大小學(xué)期C++游戲編程心得 ——徐松松 41345053 一直不知道北科大的小學(xué)期是什么樣子,經(jīng)過了三周的小學(xué)期課程的學(xué)習(xí),終于揭開了小學(xué)期的神秘面紗,學(xué)的課程和平時(shí)的理論課不......