VCer代码 VCer开源 VCer文章 VCer工具 VCer知道 VCer词典 VCer读书 VCer论坛   站点首页 我要张贴 控制面板
VCer代码 VCer开源 VCer文章 VCer工具 VCer知道 VCer词典 VCer读书 VCer论坛   站点首页 我要张贴 控制面板

目前位置: VCer资源中心 >>> VCer代码
子级分类: C++/MFC基础 Windows界面 网络与通信 图形图象处理 系统通信 数据库 文件系统 硬件/系统调用 组件技术 其它技术
我也来贴上一段经典代码吧!>>>


关于遍历目录的问题求救!~
 
我是个初学者,请给我讲解的详细一些。谢谢了。 我从网上找了个 “遍历目录查找文件”的例子,照着做了一个,编译后在没有pagefile.sys的目录下查找文件运行很正常,一旦在有pagefile.sys的目录下(如:c:\)查找文件,就出现窗口闪一下就消失了。 我是个初学者,请给我讲解的详细一些。谢谢了。 一下是代码: void CSearchDlg::OnButtonSearch() { // TODO: Add your control notification handler code here char szFilename[80]; //字符串szFilename表示要查找的文件名 strcpy(szFilename,"RamCleaner.exe"); _chdir("d:\\disktop_bak\\"); //进入要查找的路径(也可以是某一具体的目录) //查找文件,如果查到则显示文件的路径全名 Search_Directory(szFilename); //CsearchDlg类的一个成员函数 MessageBox("查找文件完毕."); //显示查找完毕的信息 } void CSearchDlg::Search_Directory(char *szFilename) { lo ...
作者:不祥 ymchinabye张贴于2004-09-02 14:59:47.0,共阅读2433次,回复1
判断某个URL是否有效
 
bool CUtil::IsReachableURL(CString sURL) { CInternetSession Session; CHttpFile * pFile; try { pFile = (CHttpFile *) Session.OpenURL(sURL); } catch (CException * e) { e->Delete(); pFile = NULL; } return (pFile != NULL); }
作者:不祥 bluejoe张贴于2004-03-10 14:56:27.0,共阅读2037次,回复2
如何在对话框中加入状态栏[2]加强你的状态栏
 
1.修改状态栏背景色 OnInitDialog 里面加 m_bar.GetStatusBarCtrl().SetBkColor(RGB(180,180,180)); 2.时间显示 OnInitDialog 里面加 SetTimer(100,1000,NULL); WM_TIMER 里面 if(nIDEvent==100) { CTime t1; t1=CTime::GetCurrentTime(); m_bar.SetPaneText(1,t1.Format("%H:%M:%S")); } CDialog::OnTimer(nIDEvent); 3.显示鼠标坐标 void CDlgStatusBarDlg::OnMouseMove(UINT nFlags, CPoint point) { CString s; s.Format("X=%d Y=%d",point.x,point.y); m_bar.SetPaneText(0,s); CDialog::OnMouseMove(nFlags, point); } 要看前面一片文章哦
作者:不祥 Bccv张贴于2004-04-20 11:54:48.0,共阅读2901次,回复1
CListCtrl的item checked 或unchecked时的消息响应
 
void CListDlg::OnItemchangedlist(NMHDR* pNMHDR, LRESULT* pResult) { NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; *pResult = 0; if (pNMListView->uOldState == 0 && pNMListView->uNewState == 0) return; // No change BOOL bPrevState = (BOOL)(((pNMListView->uOldState & LVIS_STATEIMAGEMASK)>>12)-1); // Old check box state if (bPrevState < 0) // On startup there's no previous state bPrevState = 0; // so assign as false (unchecked) // New check box state BOOL bChecked=(BOOL)(((pNMListView->uNewState & LVIS_STATEIMAGEMASK)>>12)-1); if (bChecked < 0) // On n ...
作者:不祥 jerry张贴于2004-05-27 16:41:30.0,共阅读2896次,回复0
给IE窗口的Input框右键菜单加入新的功能
 
部分内容需要参考上面的,为Edit框右键菜单添加新项 和设置Edit窗口一样,也需要设置一个窗口过程钩子来截获WM_CONTEXTMENU消息,不过设置的窗口过程有所不同。新的窗口过程如下: LRESULT CALLBACK IEWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { HOOKSHARED *hkShared; HANDLE hMapObject; WNDPROC oldWndProc = (WNDPROC)::GetProp(hWnd, ADPISA_oldProc); hkShared = HooKGetSharedMem(&hMapObject); if( uMsg == hkShared->uIEDoPaste ) { POINT pt; pt.y = HIWORD( lParam ); pt.x = LOWORD( lParam ); IEDoPaste(hWnd,pt); } HooKReleaseSharedMem(hkShared,hMapObject); switch(uMsg) { case WM_CONTEXTMENU: { // 在右键弹出时,判断是否为Input框,主要函数GetD ...
作者:不祥 ISeekYou张贴于2004-05-21 21:46:37.0,共阅读2546次,回复0
给Edit编辑窗口的右键菜单加入新的功能
 
代码内容来自于曾经做过的一个个人电脑安全安全处理助理软件,其中有项功能,就是给正在编辑的窗口内容加密,加密的功能放在右键菜单中调用,呵呵。里面有些用到的结构函数并没有列出来,代码只能大致给出思路首先需要安装一个窗口过程钩子 g_hPROCHook=SetWindowsHookEx(WH_CALLWNDPROC, GetMsgProc, g_hinstDll, 0); 窗口过程主要是在截获到 WM_CONTEXTMENU 消息时,判断当前窗口是否为Edit框, 若是的话,保存原窗口过程,设置新的窗口过程为NormalWndProc。 LRESULT WINAPI GetMsgProc(int nCode, WPARAM wParam, LPARAM lParam) { CWPSTRUCT* pStruct = (CWPSTRUCT*)lParam; HOOKSHARED *hkShared; HHOOK hProcHook; HANDLE hMapObject; hkShared=HooKGetSharedMem(&hMapObject); hProcHook=hkShared->g_hPROCHook; if (nCode == HC_ACTION) { if (pStruct->message != WM_CONT ...
作者:不祥 ISeekYou张贴于2004-05-21 21:24:50.0,共阅读2549次,回复0
云朵生成算法
 
函数用来生成黑白色的云朵.该函数生成该图的一个象素的灰度值 参数说明: int x, int y: 云朵图对应的象素位置 int x0,int y0,float FX,float FY,float Ci,float Cj,float T0,float K:用来调整云朵亮度、形状、位置等的参数。初始化一般如下 Ci = 6.0f; FX = 1.0f / 120; FY = 1.0f / 240; fK = 1.0f; T0 = 0.0f; Cj = 6.0f; x0 = 30; y0 = 10; float CGenerateCloudDoc::GenerateCloud(int x, int y,int x0,int y0,float FX,float FY,float Ci,float Cj,float T0,float K) { float LX = 0,LY = 0,T = 0,T1 = 0,T2 = 0,FX1 = 0,FY1 = 0; for(int i=1; i<5; i++) { if(i==1) { FX1 = FX; FY1 = FY; } LX = sqrt(i) * FX1; ...
作者:不祥 ISeekYou张贴于2004-05-21 20:41:13.0,共阅读2209次,回复0
Faq:如何遍历整个目录
 
提问用户 主题 提问状态 yugiant(小鱼儿) 如何遍历整个目录 已解决 问题解答归纳: BOOL DeleteCurFolder(CString folder) /***************************************************************** 作用:清空文件夹,预防可能产生的bug % 返回值:bool true-success,false-fail % 关键函数:CFildFind::FindFile % 关键变量:folder 对应文件夹 % 作者:张奇 % 修改时间:2002-10-10 ...
作者:不祥 xler张贴于2004-05-21 10:19:39.0,共阅读2826次,回复0
解高斯方程组算法(自己写的和清华教材上的比较)
 
重点是方程组类Linequ的方法 Solve(),解法一是清华教材《C++语言程序设计》郑莉等编的算法,好像有错(反正测试计算出来试错的main()为测试码),且不怎么明白!于是自己写了个,自己命名为逐行消去法!请大家看看!呵呵写得不好请帮忙改进!// Linqu.h //Begin of file Linequ.h #ifndef LINQU_H #define LINQU_H #include <iostream.h> #include <math.h> class Matrix //The definition of basic class { public: //Interface for outside Matrix(int dim=2); //Constructor ~Matrix(); //Destructor void setMatrix(double* rmatr); //Initialize Matrix void printM(); //Display Matrix protected: int index; ...
作者:不祥 barco张贴于2004-05-17 23:36:27.0,共阅读2771次,回复3
实现Dialog的Menu中最近使用文件机制
 
l 如何启动Dialog的Command Update机制? 重载Cdialog的WM_INITMENUPOPUP, 修改使用 void CFrameWnd::OnInitMenuPopup (CMenu* pMenu, UINT, BOOL bSysMenu) 中的source code,启动Command Update机制 l 如何实现Dialog的Menu中最近使用文件机制? 最近使用文件机制是用CWinApp的Command Update机制和以下两个消息处理的: ON_UPDATE_COMMAND_UI(ID_FILE_MRU_FILE1, OnUpdateRecentFileMenu) ON_COMMAND_EX_RANGE(ID_FILE_MRU_FILE1,ID_FILE_MRU_FILE16, OnOpenRecentFile) void CWinApp::OnUpdateRecentFileMenu(CCmdUI* pCmdUI) { ASSERT_VALID(this); if (m_pRecentFileList == NULL) // no MRU files pCmdUI->Enable(FALSE); ...
作者:不祥 jerry张贴于2004-05-11 20:37:18.0,共阅读2488次,回复0
两种关机代码的比较
 
InitiateSystemShutdown(NULL,"关机",10,TRUE,FALSE) //这个函数不能直接掐断电源,但是可以cancel掉关机指令 ExitWindowsEx(EWX_POWEROFF | EWX_FORCE ,0) //直接强制关机,掐断电源
作者:不祥 xler张贴于2004-05-11 18:03:37.0,共阅读1943次,回复0
系统关机代码
 
BOOL ShutDown() { OSVERSIONINFO osVI; HANDLE hToken=NULL; osVI.dwOSVersionInfoSize=sizeof(OSVERSIONINFO); if(GetVersionEx(&osVI)) { switch(osVI.dwPlatformId) { case VER_PLATFORM_WIN32s: case VER_PLATFORM_WIN32_WINDOWS: ExitWindowsEx(EWX_POWEROFF,0); break; case VER_PLATFORM_WIN32_NT: if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES, &hToken)) { SetPrivilege(hToken,SE_SHUTDOWN_NAME,TRUE); if(!ExitWindowsEx(EWX_ ...
作者:不祥 xler张贴于2004-05-11 18:01:29.0,共阅读2364次,回复0
系统重起代码
 
HINSTANCE hShell32 = ::LoadLibrary("shell32.dll"); if(hShell32) { typedef int (WINAPI *RestartDialog)(HWND hwndOwner,LPCSTR lpstrReason,UINT uFlags); RestartDialog SHRestartWindowsDialog =(RestartDialog)GetProcAddress(hShell32, MAKEINTRESOURCE(59)); if(SHRestartWindowsDialog) { (SHRestartWindowsDialog)(GetDesktopWindow(),NULL,EWX_REBOOT); } }
作者:不祥 xler张贴于2004-05-11 17:47:30.0,共阅读2235次,回复0
win2000锁定屏幕调用代码
 
对于其他os,不知道有没有用WinExec("rundll32.exe user32.dll,LockWorkStation",SW_HIDE);
作者:不祥 xler张贴于2004-05-11 17:37:05.0,共阅读2188次,回复0
如何实现双击程序托盘图标弹出或者弹入动画效果
 
使用API: BOOL WINAPI DrawAnimatedRects(HWND hwnd, int idAni, CONST RECT * lprcFrom, CONST RECT * lprcTo); Eg: Bool m_bShow = false; //区分弹出还是弹入 BOOL WinAnimation() { CWnd * pWnd=FindWindow("Shell_TrayWnd",NULL); //windows底部信息提示窗口 if(!pWnd)return FALSE; CRect rectSur,rectDst; GetWindowRect(&rectSur); //本窗口大小,用户自己处理 EnumChildWindows(pWnd->GetSafeHwnd(),My_Find,(LPARAM)&rectDst); //寻找托盘 if(m_bShow)DrawAnimatedRects(GetSafeHwnd(),IDANI_CAPTION,&rectSur,&rectDst); //弹入 else DrawAnimatedRects(GetSafeHwnd(),IDANI_CAPTION,&rectDst,&rectSur); //弹出 re ...
作者:不祥 xler张贴于2004-05-11 14:47:50.0,共阅读2338次,回复0
分割“品”字型的视图
 
BOOL CBrowserFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { m_Splitter1.CreateStatic(this,1,2); m_Splitter2.CreateStatic(&m_Splitter1,2,1,WS_CHILD|WS_VISIBLE,m_Splitter1.IdFromRowCol(0,1)); m_Splitter1.CreateView(0,0,RUNTIME_CLASS(CBrowserFolder),CSize(200,0),pContext); m_Splitter2.CreateView(0,0,RUNTIME_CLASS(CLogoBar),CSize(0,80),pContext); m_Splitter2.CreateView(1,0,RUNTIME_CLASS(CBrowserList),CSize(0,0),pContext); return CFrameWnd::OnCreateClient(lpcs,pContext); }
作者:不祥 bluejoe张贴于2004-04-30 10:16:05.0,共阅读1906次,回复0
GetLastError()对应的原因
 
void DisplayError(DWORD dwError) { LPVOID pv; FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER| FORMAT_MESSAGE_FROM_SYSTEM, NULL, dwError, MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT), (LPTSTR)&pv, 0, NULL); MessageBox(NULL, (LPTSTR)pv, "Error", MB_ICONHAND); LocalFree(pv); } 这样用: DisplayError(WSAGetLastError()); 可以看到错误的原因!
作者:不祥 jerry张贴于2004-04-24 22:31:46.0,共阅读2357次,回复0
使用QueryPerformanceCount的小例子
 
LARGE_INTEGER liCount1; LARGE_INTEGER liCount2; LARGE_INTEGER liFrequency; double fSeconds; //你的其他代码... //时间点1(例如按某个button的时间) QueryPerformanceCounter(&liCount1); //你的其他代码... //时间点2(例如某事件完成的时间) QueryPerformanceCounter(&liCount2); QueryPerformanceFrequency(&liFrequency);//每秒记数 fSeconds=(double)(liCount2.QuadPart -liCount1.QuadPart )/(double)liFrequency.QuadPart; //时间点2和时间点1之间的精确秒数
作者:不祥 ycr40张贴于2004-04-20 17:21:50.0,共阅读2296次,回复1
如何在对话框中加入状态栏[1]
 
1.ID_INDICATOR_NISH and ID_INDICATOR_TIME这个两个加到 symbol 里去,同样的加到 string table 里去 2.在你的 Dialog 类里面加个 CStatusBar m_bar; 3.在实现文件开头加上 static UINT BASED_CODE indicators[] = { ID_INDICATOR_NISH, ID_INDICATOR_TIME }; 4.OnInitDialog 里面加上 m_bar.Create(this); //We create the status bar m_bar.SetIndicators(indicators,2); //Set the number of panes CRect rect; GetClientRect(&rect); //Size the two panes m_bar.SetPaneInfo(0,ID_INDICATOR_NISH, SBPS_NORMAL,rect.Width()-100); m_bar.SetPaneInfo(1,ID_INDICATOR_TIME,SBPS_STRETCH ,0); //This is where we actually draw ...
作者:不祥 Bccv张贴于2004-04-20 11:46:50.0,共阅读2255次,回复0
异步读写的简单串口类
 
// Serial.h #ifndef __SERIAL_H__ #define __SERIAL_H__ #define FC_DTRDSR 0x01 #define FC_RTSCTS 0x02 #define FC_XONXOFF 0x04 #define ASCII_BEL 0x07 #define ASCII_BS 0x08 #define ASCII_LF 0x0A #define ASCII_CR 0x0D #define ASCII_XON 0x11 #define ASCII_XOFF 0x13 class CSerial { public: CSerial(); ~CSerial(); BOOL Open( int nPort = 2, int nBaud = 9600 ); BOOL Close( void ); int ReadData( void *, int ); int SendData( const char *, int ); int ReadDataWaiting( void ); BOOL IsOpened( void ){ return( m_b ...
作者:不祥 bruticus张贴于2004-04-19 12:51:38.0,共阅读2862次,回复1

页次: 4/6页 记录总数105 9 7 [ 1 2 3 4 5 6 7 8 9 10 ] 8 :