資源簡(jiǎn)介
VC HOSTS 修改工具源碼(MFC工程)
VS2013 工程,hosts 文件讀取,設(shè)置只讀,文件寫于,開UAC

代碼片段和文件信息
//?FHosts.cpp?:?定義應(yīng)用程序的類行為。
//
#include?“stdafx.h“
#include?“FHosts.h“
#include?“FHostsDlg.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#endif
//?CFHostsApp
BEGIN_MESSAGE_MAP(CFHostsApp?CWinApp)
ON_COMMAND(ID_HELP?&CWinApp::onhelp)
END_MESSAGE_MAP()
//?CFHostsApp?構(gòu)造
CFHostsApp::CFHostsApp()
{
//?支持重新啟動(dòng)管理器
m_dwRestartManagerSupportFlags?=?AFX_RESTART_MANAGER_SUPPORT_RESTART;
//?TODO:??在此處添加構(gòu)造代碼,
//?將所有重要的初始化放置在?InitInstance?中
}
//?唯一的一個(gè)?CFHostsApp?對(duì)象
CFHostsApp?theApp;
//?CFHostsApp?初始化
BOOL?CFHostsApp::InitInstance()
{
//?如果一個(gè)運(yùn)行在?Windows?XP?上的應(yīng)用程序清單指定要
//?使用?ComCtl32.dll?版本?6?或更高版本來啟用可視化方式,
//則需要?InitCommonControlsEx()。??否則,將無法創(chuàng)建窗口。
INITCOMMONCONTROLSEX?InitCtrls;
InitCtrls.dwSize?=?sizeof(InitCtrls);
//?將它設(shè)置為包括所有要在應(yīng)用程序中使用的
//?公共控件類。
InitCtrls.dwICC?=?ICC_WIN95_CLASSES;
InitCommonControlsEx(&InitCtrls);
CWinApp::InitInstance();
AfxEnableControlContainer();
//?創(chuàng)建?shell?管理器,以防對(duì)話框包含
//?任何?shell?樹視圖控件或?shell?列表視圖控件。
CShellManager?*pShellManager?=?new?CShellManager;
//?激活“Windows?Native”視覺管理器,以便在?MFC?控件中啟用主題
CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows));
//?標(biāo)準(zhǔn)初始化
//?如果未使用這些功能并希望減小
//?最終可執(zhí)行文件的大小,則應(yīng)移除下列
//?不需要的特定初始化例程
//?更改用于存儲(chǔ)設(shè)置的注冊(cè)表項(xiàng)
//?TODO:??應(yīng)適當(dāng)修改該字符串,
//?例如修改為公司或組織名
SetRegistryKey(_T(“應(yīng)用程序向?qū)傻谋镜貞?yīng)用程序“));
if?(!EnableDebugPrivilege())?{
AfxMessageBox(_T(“獲取權(quán)限失敗“));
}
CFHostsDlg?dlg;
m_pMainWnd?=?&dlg;
INT_PTR?nResponse?=?dlg.DoModal();
if?(nResponse?==?IDOK)
{
//?TODO:??在此放置處理何時(shí)用
//??“確定”來關(guān)閉對(duì)話框的代碼
}
else?if?(nResponse?==?IDCANCEL)
{
//?TODO:??在此放置處理何時(shí)用
//??“取消”來關(guān)閉對(duì)話框的代碼
}
else?if?(nResponse?==?-1)
{
TRACE(traceAppMsg?0?“警告:?對(duì)話框創(chuàng)建失敗,應(yīng)用程序?qū)⒁馔饨K止。\n“);
TRACE(traceAppMsg?0?“警告:?如果您在對(duì)話框上使用?MFC?控件,則無法?#define?_AFX_NO_MFC_CONTROLS_IN_DIALOGS。\n“);
}
//?刪除上面創(chuàng)建的?shell?管理器。
if?(pShellManager?!=?NULL)
{
delete?pShellManager;
}
//?由于對(duì)話框已關(guān)閉,所以將返回?FALSE?以便退出應(yīng)用程序,
//??而不是啟動(dòng)應(yīng)用程序的消息泵。
return?FALSE;
}
bool?CFHostsApp::EnableDebugPrivilege()
{
HANDLE?hToken;
LUID?sedebugnameValue;
TOKEN_PRIVILEGES?tkp;
if?(!OpenProcessToken(GetCurrentProcess()?TOKEN_ADJUST_PRIVILEGES?|?TOKEN_QUERY?&hToken))
{
return???FALSE;
}
if?(!LookupPrivilegeValue(NULL?SE_DEBUG_NAME?&sedebugnameValue))
{
CloseHandle(hToken);
return?false;
}
tkp.PrivilegeCount?=?1;
tkp.Privileges[0].Luid?=?sedebugnameValue;
tkp.Privileges[0].Attributes?=?SE_PRIVILEGE_ENABLED;
if?(!AdjustTokenPrivileges(hToken?FALSE?&tkp?sizeof(tkp)?NULL?NULL))
{
CloseHandle(hToken);
return?false;
}
return?true;
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件?????108796??2014-08-10?13:39??FHosts\FHosts\FHosts.aps
?????文件???????3073??2014-08-10?12:25??FHosts\FHosts\FHosts.cpp
?????文件????????474??2014-08-10?12:25??FHosts\FHosts\FHosts.h
?????文件??????10750??2014-08-10?13:39??FHosts\FHosts\FHosts.rc
?????文件???????6195??2014-08-10?12:39??FHosts\FHosts\FHosts.vcxproj
?????文件???????2048??2014-08-10?12:39??FHosts\FHosts\FHosts.vcxproj.filters
?????文件????????165??2014-08-10?12:38??FHosts\FHosts\FHosts.vcxproj.user
?????文件???????5736??2014-08-10?13:35??FHosts\FHosts\FHostsDlg.cpp
?????文件????????773??2014-08-10?13:35??FHosts\FHosts\FHostsDlg.h
?????文件???????3842??2014-08-10?11:51??FHosts\FHosts\ReadMe.txt
????.......?????67777??2013-07-22?01:18??FHosts\FHosts\res\FHosts.ico
?????文件????????668??2014-08-10?11:51??FHosts\FHosts\res\FHosts.rc2
?????文件???????1598??2014-08-10?13:34??FHosts\FHosts\resource.h
?????文件????????139??2014-08-10?11:51??FHosts\FHosts\stdafx.cpp
?????文件???????1578??2014-08-10?11:51??FHosts\FHosts\stdafx.h
?????文件????????234??2014-08-10?11:51??FHosts\FHosts\targetver.h
?????文件????????964??2014-08-10?11:51??FHosts\FHosts.sln
????..A..H.?????31744??2014-08-10?13:42??FHosts\FHosts.v12.suo
?????目錄??????????0??2014-08-10?12:37??FHosts\FHosts\res
?????目錄??????????0??2014-08-10?13:42??FHosts\FHosts
?????目錄??????????0??2014-08-10?13:42??FHosts
-----------?---------??----------?-----??----
???????????????246554????????????????????21
評(píng)論
共有 條評(píng)論