生活随笔
收集整理的這篇文章主要介紹了
C/C++得到系统启动项
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.在VC6.0里面新建一個(gè)MFC APPWizard(exe)工程:
選擇基本對話:
放入CListCtrl控件:
在CListCtrl控件上單擊右鍵,選建立類向?qū)?
選擇Member Variables那一欄:
單擊Add variable…設(shè)置變量名為m_AutoRunList
void initList(CListCtrl &m_AutoRunList)
{LONG lStyle;lStyle = GetWindowLong(m_AutoRunList
.m_hWnd, GWL_STYLE);lStyle &= ~LVS_TYPEMASK; lStyle |= LVS_REPORT; SetWindowLong(m_AutoRunList
.m_hWnd, GWL_STYLE, lStyle);DWORD dwStyle = m_AutoRunList
.GetExtendedStyle();dwStyle |= LVS_EX_FULLROWSELECT;dwStyle |= LVS_EX_GRIDLINES;dwStyle |= LVS_EX_CHECKBOXES;m_AutoRunList
.SetExtendedStyle(dwStyle); m_AutoRunList
.InsertColumn(
0,
"No.",LVCFMT_LEFT,
40);m_AutoRunList
.InsertColumn(
1,
"鍵名",LVCFMT_LEFT,
80);m_AutoRunList
.InsertColumn(
2,
"鍵值",LVCFMT_LEFT,
500);}
void showRunList(CListCtrl &list)
{list
.DeleteAllItems();DWORD dwType =
0;DWORD dwBufferSize = MAXBYTE;DWORD dwKeySize = MAXBYTE;
char szValueName[
255]={
0};
char szValueKey[
255]={
0};HKEY hKey=
NULL;LONG lRet = RegOpenKey(HKEY_CURRENT_USER,REG_RUN,&hKey);
if(lRet != ERROR_SUCCESS){AfxMessageBox(
"打開注冊表失敗");
return;}
int i=
0;CString strTemp;
while(
true){dwBufferSize = MAXBYTE;dwKeySize = MAXBYTE;lRet = RegEnumValue(hKey,i++,szValueName,&dwBufferSize,
0,
0,(
unsigned char *)szValueKey,&dwKeySize);
if(lRet==ERROR_NO_MORE_ITEMS){
break;}strTemp
.Format(
"%d",i);
int nRow = list
.InsertItem(i,strTemp);list
.SetItemText(nRow,
1, szValueName);list
.SetItemText(nRow,
2, szValueKey);ZeroMemory(szValueName,MAXBYTE);ZeroMemory(szValueKey,MAXBYTE);}}
BOOL CListDlg::OnInitDialog()
{CDialog::OnInitDialog();ASSERT((IDM_ABOUTBOX &
0xFFF0) == IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX <
0xF000);CMenu* pSysMenu = GetSystemMenu(
FALSE);
if (pSysMenu !=
NULL){CString strAboutMenu;strAboutMenu
.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu
.IsEmpty()){pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);}}SetIcon(m_hIcon,
TRUE); SetIcon(m_hIcon,
FALSE); initList(m_AutoRunList);showRunList(m_AutoRunList);
return TRUE;
}
注意:這個(gè)不需要管理員權(quán)限
總結(jié)
以上是生活随笔為你收集整理的C/C++得到系统启动项的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。