青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 14, comments - 4, trackbacks - 0, articles - 0

VISUAL C++軟件開發中幾個常用功能

Posted on 2006-07-05 00:26 will 閱讀(480) 評論(0)  編輯 收藏 引用 所屬分類: 技術探索
?????????在進行軟件開發過程中間,有很多小功能的實現,雖然這些東西你可以不用,但是如果應用仂將會是你的程序更具有專業性。?
一、設置程序自動運行。??
???????很多監控軟件要求軟件能夠在系統重新啟動后不用用戶去點擊圖標啟動項目,而是直接能夠啟動運行,方法是寫注冊表Software\\Microsoft\\Windows\\CurrentVersion\\Run。參考程序可以見下:(查找程序目錄的執行文件,存在則進行添加注冊表操作)?
???????? HKEY RegKey;?
???????? CString sPath;?
???????? GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);?
???????? sPath.ReleaseBuffer();?
???????? int nPos;?
??? nPos=sPath.ReverseFind(’\\’);?
??? sPath=sPath.Left(nPos);?
??? CString lpszFile=sPath+"\\****.exe";//這里加上你要查找的執行文件名稱?
??? CFileFind fFind;?
??? BOOL bSuccess;?
??? bSuccess=fFind.FindFile(lpszFile);?
??? fFind.Close();?
??? if(bSuccess)?
??? {?
??????? CString fullName;?
??????? fullName=lpszFile;?
??????? RegKey=NULL;?
??????? RegOpenKey(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run",&RegKey);?
??????? RegSetValueEx(RegKey,"*****",0,REG_SZ,(const unsigned char*)(LPCTSTR)fullName,fullName.GetLength());//這里加上你需要在注冊表中注冊的內容?
??????? this->UpdateData(FALSE);?
??? }?
??? else?
??? {?
??????? theApp.SetMainSkin();?
??????? ::AfxMessageBox("沒找到執行程序,自動運行失敗");?
??????? exit(0);?
??? }?

二、自動配置數據源?
??? 很多的程序都要用到數據庫結合的操作,這里舉例ACCESS,因為ACCESS在中小型VC系統開發中是最常用到的,如果程序的移植,如果對于很初級的用戶來說,你還需要他到配置面板中進行數據源配置的話,那就有點說不過去了。?
???????? #include <odbcinst.h>?
???????? //配置數據源,數據庫在應用程序目錄下,這里比如數據庫文件名為***.mdb,程序運行時候可以將數據庫文件拷貝到程序目錄下面。?
??? CString sPath;?
??? GetModuleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH);?
??? sPath.ReleaseBuffer();?
??? int nPos;?
??? nPos=sPath.ReverseFind(’\\’);?
??? sPath=sPath.Left(nPos);?
??? CString lpszFileName = sPath + "\\***.mdb";//這里修改成你的數據庫文件名稱?
??? CFileFind? fFind;?
??? if(!fFind.FindFile(lpszFileName))?
??? {?
??????? ::AfxMessageBox("沒有找到數據庫");?
??????? exit(0);?
??? }??
??? CString szDesc;?
??? szDesc.Format( "DSN=****;Description=****;DESCRIPTION=The DataBase For ***;FIL=MicrosoftAccess;DEFAULTDIR=%s;DBQ=%s;" ,sPath,lpszFileName);//這里***號可以添加成你的描述?

??? //添加數據源?
??? if(!::SQLConfigDataSource(NULL,ODBC_ADD_DSN, "Microsoft Access Driver (*.mdb)",(LPCSTR)szDesc))?
??? {?
??????? ::AfxMessageBox("32位ODBC數據源配置錯誤!");?
??????? exit(0);?
??? }?

三、設置顯示模式:?
??? 很多的程序的移植的運行環境是改變的。有可能你的原來開發環境是1024X768,但是到了那些顯示器大于17的時候(分辨率超過你的開發時的分辨率時),程序的顯示可能就不好看了。?
???????? DEVMODE lpDevMode;?
??? lpDevMode.dmPelsHeight=768;//Y方向象素點?
??? lpDevMode.dmPelsWidth=1024;//X方向象素點?
??? lpDevMode.dmDisplayFrequency=85;//屏幕刷新率?
??? lpDevMode.dmFields=DM_PELSWIDTH|DM_PELSHEIGHT|DM_DISPLAYFREQUENCY;?
??? ChangeDisplaySettings(&lpDevMode,0);?

四、在你的程序中間加載其他應用程序:?
??? 你的程序除了調用到各個模塊進行協同工作外(DLL),還有可能調用不是同一個開發環境下的應用程序,比如VC環境下調用DELPHI,VB開發的執行程序,你就可以用到下面的方法(將調用的應用程序拷貝程序目錄中):?
???????? CString sPath;?
??? GetModuleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH);?
??? sPath.ReleaseBuffer();?
??? int nPos;?
??? nPos=sPath.ReverseFind(’\\’);?
??? sPath=sPath.Left(nPos);?
??? CString lpszFileName = sPath + "\\***.exe";//這里修改成你的調用應用程序的文件名稱?
??? CFileFind? fFind;?
??? if(!fFind.FindFile(lpszFileName))?
??? {?
??????? ::AfxMessageBox("沒有找到調用的應用程序!");??
??????? return FALSE;?
??? }?
??? else?
??????? ShellExecute(NULL,NULL,_T("***.exe"),NULL,sPath,NULL);??

五、結束進程:?
??? 在你的程序中結束別的程序進程,采用的方法是進行進程列舉,然后采用查找的方法進行:?
???????? #include "TLHELP32.H"?
???????? DWORD ProcessID[50];?
??? CString kkk[50];?
??? HANDLE SnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);??
??? PROCESSENTRY32* info=new PROCESSENTRY32;?
??? PROCESSENTRY32 ProcessInfo;//聲明進程信息變量?
??? ProcessInfo.dwSize=sizeof(ProcessInfo);//設置ProcessInfo的大小?
??? //返回系統中第一個進程的信息?
??? BOOL Status=Process32First(SnapShot,&ProcessInfo);?
??? int m_nProcess=0;??
??? while(Status)?
??? {?
??????? CString s,str1,str2;?
??????? s.Format("%d",ProcessInfo.cntThreads);?
??????? str1.Format("%s",ProcessInfo.szExeFile);?
??????? str1=ProcessInfo.szExeFile;?
??????? kkk[m_nProcess]=ProcessInfo.szExeFile;??
??????? ProcessID[m_nProcess]=ProcessInfo.th32ProcessID;??
??????? if(str1=="***.exe")//***.exe就是你要結束的進程的名稱?
??????? {?
??????????? HANDLE ProcessHandle;?
??????????? ProcessHandle=OpenProcess (PROCESS_ALL_ACCESS,FALSE,ProcessID[m_nProcess]);?
??????????? TerminateProcess(ProcessHandle,0);?????
??????? }?
??????? Status=Process32Next(SnapShot,&ProcessInfo);?
??????? m_nProcess++;?
??? }?

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲影院高清在线| 欧美在线资源| 亚洲精品小视频在线观看| 欧美电影免费| 亚洲视频欧美在线| 一区二区三区四区五区视频 | 亚洲香蕉网站| 国产日韩欧美一区二区三区在线观看| 午夜精品一区二区三区在线视 | 欧美福利一区| 欧美久久九九| 欧美一区二区观看视频| 午夜精品久久久久久久99樱桃| 国产精品亚洲激情| 美女视频黄 久久| 欧美激情精品久久久久久蜜臀| 一区二区欧美激情| 亚洲伊人一本大道中文字幕| 国内精品久久久久久影视8| 欧美1区免费| 国产精品高精视频免费| 久久婷婷丁香| 欧美日韩精品| 久久人体大胆视频| 欧美日韩亚洲视频一区| 久久久久一区二区| 欧美成人一区二区在线| 久久精品国产91精品亚洲| 美女视频黄 久久| 亚洲专区免费| 美女精品网站| 久久国产高清| 欧美日韩和欧美的一区二区| 久久国产加勒比精品无码| 欧美精品1区| 久久网站免费| 国产精品一区久久| 亚洲国产婷婷综合在线精品| 国产亚洲欧美中文| 99精品免费| 亚洲免费成人| 老司机免费视频一区二区三区| 亚洲欧美另类在线| 欧美精品一区视频| 免费久久99精品国产自| 国产手机视频一区二区| 一本色道久久加勒比88综合| 亚洲国产欧美不卡在线观看| 午夜在线电影亚洲一区| 午夜久久久久| 欧美日韩中文在线观看| 亚洲国产成人久久综合一区| 激情综合网址| 欧美一区二区福利在线| 午夜精品视频在线观看| 欧美日一区二区三区在线观看国产免| 免费高清在线一区| 红桃视频成人| 久久精品国产精品| 久久精品免费| 国产一区二区三区四区三区四| 99在线观看免费视频精品观看| 亚洲三级视频在线观看| 免费一级欧美片在线观看| 男女精品视频| 亚洲第一久久影院| 久久中文字幕一区| 欧美多人爱爱视频网站| 136国产福利精品导航网址应用| 久久精品在线视频| 久久免费高清视频| 樱桃国产成人精品视频| 蜜桃伊人久久| 亚洲国产美女久久久久| 日韩一区二区精品| 欧美日韩国产精品成人| 99视频精品| 亚洲欧美综合精品久久成人| 国产农村妇女精品一二区| 亚洲一级二级在线| 久久亚洲国产成人| 亚洲高清不卡一区| 欧美啪啪成人vr| 亚洲视屏在线播放| 久久成人精品视频| 亚洲福利在线视频| 欧美日本韩国一区| 亚洲欧美一区二区在线观看| 久久亚洲视频| 亚洲美女电影在线| 国产精品拍天天在线| 久久av二区| 亚洲激情午夜| 欧美在线网站| 亚洲国产成人精品久久| 欧美日韩精品一二三区| 香蕉久久久久久久av网站| 欧美福利在线| 亚洲欧美经典视频| 亚洲国产国产亚洲一二三| 欧美视频中文字幕| 久久久久国产精品一区| 亚洲精品一二| 久久综合综合久久综合| 一区二区欧美亚洲| 韩国免费一区| 国产精品免费网站| 男人的天堂亚洲在线| 亚洲在线视频免费观看| 亚洲第一伊人| 欧美主播一区二区三区| 亚洲精品乱码久久久久久黑人| 国产精品女同互慰在线看| 久久男人av资源网站| 亚洲尤物在线| 日韩系列在线| 美女脱光内衣内裤视频久久影院| 一本色道久久综合亚洲精品不| 国产欧美一区二区三区视频| 欧美国产视频一区二区| 久久精品国产免费观看| 亚洲午夜久久久| 亚洲日本电影| 欧美sm重口味系列视频在线观看| 欧美在线啊v一区| 亚洲午夜羞羞片| 亚洲精品免费一二三区| 经典三级久久| 国内精品一区二区| 国产欧美日韩亚洲一区二区三区| 欧美日韩亚洲国产精品| 欧美a级大片| 免费欧美日韩| 久久一区激情| 久久一区二区三区国产精品| 欧美一区二区三区播放老司机| 宅男在线国产精品| 一本久道久久久| 一区二区三区黄色| 99av国产精品欲麻豆| 亚洲久久一区| av成人福利| 一区二区三区日韩欧美精品| 日韩视频免费看| a91a精品视频在线观看| 亚洲免费精品| 一区二区三区久久网| 在线一区二区三区四区五区| 亚洲精品综合| 中文日韩电影网站| 亚洲欧美激情诱惑| 欧美一区二区| 另类av导航| 欧美激情一二三区| 欧美日韩免费精品| 国产精品福利在线| 国产精品日韩在线观看| 国产亚洲激情在线| 亚洲第一区在线| 亚洲美女毛片| 亚洲欧美在线视频观看| 久久电影一区| 欧美成人午夜激情视频| 亚洲欧洲另类国产综合| 一本色道**综合亚洲精品蜜桃冫 | 欧美一区中文字幕| 久久精品夜色噜噜亚洲a∨| 浪潮色综合久久天堂| 欧美精品一区二区三区在线看午夜 | 国产综合香蕉五月婷在线| 红桃视频一区| 亚洲人精品午夜在线观看| 一区二区三区你懂的| 久久av资源网| 欧美成人自拍| 亚洲一区二区三区四区视频| 欧美一级成年大片在线观看| 免费h精品视频在线播放| 欧美极品在线播放| 国产精品一区二区欧美| 今天的高清视频免费播放成人| 亚洲毛片在线| 久久99在线观看| 亚洲日本国产| 欧美一级二级三级蜜桃| 欧美了一区在线观看| 国产亚洲电影| 99热在线精品观看| 久久一区二区三区国产精品| 亚洲精品免费在线观看| 久久福利资源站| 欧美视频一区| 亚洲国产欧洲综合997久久| 欧美亚洲在线| 最新日韩在线视频| 久久综合色影院| 国产农村妇女精品一区二区| 一本久道久久综合中文字幕| 久久一日本道色综合久久| 亚洲一区二区三区精品视频|