日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C/C++得到系统启动项

發(fā)布時間:2025/3/21 c/c++ 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C/C++得到系统启动项 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.在VC6.0里面新建一個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);// 獲取當(dāng)前窗口stylelStyle &= ~LVS_TYPEMASK; // 清除顯示方式位lStyle |= LVS_REPORT; // 設(shè)置styleSetWindowLong(m_AutoRunList.m_hWnd, GWL_STYLE, lStyle);// 設(shè)置styleDWORD dwStyle = m_AutoRunList.GetExtendedStyle();dwStyle |= LVS_EX_FULLROWSELECT;// 選中某行使整行高亮(只適用與report 風(fēng)格的listctrl )dwStyle |= LVS_EX_GRIDLINES;// 網(wǎng)格線(只適用與report 風(fēng)格的listctrl )dwStyle |= LVS_EX_CHECKBOXES;//item 前生成checkbox 控件m_AutoRunList.SetExtendedStyle(dwStyle); // 設(shè)置擴(kuò)展風(fēng)格 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);// 設(shè)置其它列數(shù)據(jù)list.SetItemText(nRow, 2, szValueKey);// 設(shè)置其它列數(shù)據(jù)ZeroMemory(szValueName,MAXBYTE);ZeroMemory(szValueKey,MAXBYTE);//清空緩沖區(qū)}} BOOL CListDlg::OnInitDialog()//窗口初始化時調(diào)用的函數(shù),在這里我們初始化了CListCtrl控件,用initList()和showRunList()向里面加入了內(nèi)容. {CDialog::OnInitDialog();// Add "About..." menu item to system menu.// IDM_ABOUTBOX must be in the system command range.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); // Set big iconSetIcon(m_hIcon, FALSE); // Set small icon// TODO: Add extra initialization here//上面是編譯器自動生成的初始化代碼initList(m_AutoRunList);showRunList(m_AutoRunList);//自己添加的函數(shù)return TRUE; // return TRUE unless you set the focus to a control }


注意:這個不需要管理員權(quán)限

總結(jié)

以上是生活随笔為你收集整理的C/C++得到系统启动项的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。