visual c++常用小代码

来源:互联网 发布:广州谷得网络评价 编辑:程序博客网 时间:2024/05/12 10:57

1.打开记事本:

WinExec("notepad.exe",SW_SHOW); 

2.打开网页:

ShellExecute(NULL,"open","www.baidu.com",NULL,NULL,SW_SHOWNORMAL);

3.按钮的允许与禁止:
m_Button1.EnableWindow(true);m_Button1.EnableWindow(false); 

4.窗口最大化:
把应用程序类(CApp)的 InitInstance() 中:
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);

5.窗口的初始位置:
把应用程序类(CApp)的 InitInstance() 中:
m_pMainWnd->SetWindowPos(NULL,x,y,Width,Height,SWP_SHOWWINDOW);

7.窗口居中:
①在应用程序类(CxxxApp)的 InitInstance() 函数中加入:
②在主框架类(MainFrm.cpp)的OnCreate()函数中加入:
CenterWindow( GetDesktopWindow() );

8.设置文档标题:
在文档类(CxxxDoc)的OnNewDocument()函数中:
SetTitle("文档名");

9.隐藏控件:
CWnd *pWnd;pWnd = GetDlgItem( IDC_EDIT1 );pWnd->ShowWindow( SW_HIDE ); 

10.改变控件的位置:
CWnd *pWnd;pWnd = GetDlgItem( IDC_EDIT1 );pWnd->MoveWindow( CRect(0,0,100,100) ); 

或:控件位置和大小都改变
CWnd *pWnd = GetDlgItem( IDC_EDIT1 );pWnd->SetWindowPos( NULL,0,0,100,80,SWP_NOZORDER );

11.设置程序标题:
在框架类(CMainFrame)的PreCreateWindow()函数中加入语句:
m_strTitle = _T("程序标题");

12.设置对话框背景:
在应用程序类CxxxApp的InitInstance()函数中加入下面的语句:
SetDialogBkColor( RGB(192,248,202) );

13.设置窗体透明:

::SetWindowPos(m_hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE);//TopMostSetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);HINSTANCE hModule=LoadLibrary(_T("User32.DLL")); if(hModule==NULL) {return;}typedef BOOL (WINAPI *FN_SetColor)(HWND,COLORREF,BYTE,DWORD);FN_SetColor SetColor = NULL;SetColor=(FN_SetColor)GetProcAddress(hModule,"SetLayeredWindowAttributes");if (SetColor==NULL){return;FreeLibrary(hModule); }SetColor(this->GetSafeHwnd(),0,50,2);FreeLibrary(hModule); }

14.全屏幕显示窗体:

void CSetDlg::SetFullScreen(){LONG style = ::GetWindowLong(this->m_hWnd,GWL_STYLE);style &= ~(WS_DLGFRAME | WS_THICKFRAME);SetWindowLong(this->m_hWnd,GWL_STYLE, style);this->ShowWindow(SW_SHOWMAXIMIZED);CRect rect;this->GetWindowRect(&rect);::SetWindowPos(this->m_hWnd,HWND_NOTOPMOST,rect.left-1, rect.top-1, rect.right-rect.left + 3, rect.bottom-rect.top + 3, SWP_FRAMECHANGED);}
15.隐藏任务栏:

void CSetDlg::SetTaskBarHide(){::SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE, WS_EX_TOOLWINDOW);  }

16.修改注册表让程序自启动:

HKEY hKey; //找到系统的启动项 LPCTSTR lpRun = "Software\\Microsoft\\Windows\\CurrentVersion\\Run"; //打开启动项Key long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_WRITE, &hKey); if(lRet == ERROR_SUCCESS) {      char pFileName[MAX_PATH] = {0};      //得到程序自身的全路径      DWORD dwRet = GetModuleFileName(NULL, pFileName, MAX_PATH);      //添加一个子Key,并设置值 // 下面的"getip"是应用程序名字(不加后缀.exe)     lRet = RegSetValueEx(hKey, "getip", 0, REG_SZ, (BYTE *)pFileName, dwRet); //改下getip为自己的程序名     //关闭注册表      RegCloseKey(hKey);      if(lRet != ERROR_SUCCESS)      {          AfxMessageBox("系统参数错误,不能随系统启动");      } } 

17.注册快捷键:

//添加消息宏:#define WM_HOTEKEY WM_USER+1//声明消息函数:afx_msg void OnHotKey(WPARAM wp,LPARAM lp);//添加消息队列:ON_MESSAGE(WM_HOTKEY,OnHotKey)//定义消息函数:void CTestDlg::OnHotKey(WPARAM wp, LPARAM lp){if(wp==200){ShowWindow(SW_SHOW);}if(wp==300||wp==400){ShellExecute(NULL,"open","www.baidu.com",NULL,NULL,SW_SHOW);}}//OnInitDialog()中加:注册热键::RegisterHotKey(m_hWnd,200,MOD_CONTROL,'A'); ::RegisterHotKey(m_hWnd,300,NULL,'S'); ::RegisterHotKey(m_hWnd,400,NULL,'s');//Ondestroy()中销毁热键:void CTestDlg::OnDestroy() { CDialog::OnDestroy();::UnregisterHotKey(m_hWnd,200);::UnregisterHotKey(m_hWnd,300);}










原创粉丝点击