visual c++常用小代码

7 篇文章 0 订阅

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);//TopMost
SetWindowLong(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);
}










  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值