windows 核心编程 SingleTon.cpp
来源:互联网 发布:2012总决赛数据 编辑:程序博客网 时间:2024/06/05 10:30
程序单实例运行 2010-07-24
/***********************************************************************
Module : Singleton.cpp
Notice: Copyright ( C )
***********************************************************************/
#include"stdafx.h"
#include "resource.h"
#include<windowsx.h>
#include<Sddl.h>
#include<tchar.h>
#include<strsafe.h>
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
HWND g_hDlg;
HANDLE g_hSingleton = NULL;
HANDLE g_hBoundary = NULL;
HANDLE g_hNamespace = NULL;
BOOL g_bNamespaceOpened = FALSE;
PCTSTR g_szBoundary = TEXT("3-Boundary");
PCTSTR g_szNamespace = TEXT("3-Namespace");
#define DETAILS_CTRL GetDlgItem(g_hDlg,IDC_EDIT_DETAILS)
void AddText(PCTSTR pszFormat,...){
va_list argList;
va_start(argList,pszFormat);
TCHAR sz[20 * 1024];
Edit_GetText(DETAILS_CTRL,sz,_countof(sz));
_vstprintf_s(
_tcschr(sz,TEXT('/0')),_countof(sz)-_tcslen(sz),
pszFormat,argList);
Edit_SetText(DETAILS_CTRL,sz);
va_end(argList);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void Dlg_OnCommand(HWND hwnd,int id,HWND hwndCtl,UINT codeNotify){
switch(id){
case IDOK:
case IDCANCEL:
EndDialog(hwnd,id);
break;
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CheckInstance()
{
g_hBoundary = CreateBoundaryDescriptor(g_szBoundary,0);
BYTE localAdminSID[SECURITY_MAX_SID_SIZE];
PSID pLoacalAdminSID =&localAdminSID;
if(!CreateWellknownSid(
WinBuildinAdministratorsSid,NULL,pLocalAdminSID,&cbSID)
){
AddText(TEXT("AddSIDToBoundaryDescriptor failed:%u/r/n"),GetLastError());
return;
}
if(!AddSIDToBoundaryDescriptor(&g_hBoundary,pLocalAdminSID))
{
AddText(TEXT("AddSIDToBoundaryDescriptor failed:%u/r/n"),GetLastError());
return;
}
}
- windows 核心编程 SingleTon.cpp
- windows核心编程03-Singleton
- Cpp Singleton
- 【Windows 核心编程】Windows 核心编程 -- 进程
- 【Windows核心编程】Windows核心编程 -- 作业
- Windows核心编程(三)
- windows核心编程--字符集
- windows核心编程--进程
- windows核心编程--作业
- windows核心编程--线程
- windows核心编程--纤程
- windows核心编程--精华
- windows核心编程--纤程
- windows核心编程 十年磨剑
- windows 核心编程 线程
- WINDOWS核心编程--虚拟内存
- WINDOWS核心编程--堆栈
- windows核心编程学习
- socket套接字
- FFMPEG and SDL Tutorial 1
- DIV+CSS网页重构
- SQL中的CASE使用方法
- 导出至xls
- windows 核心编程 SingleTon.cpp
- SQL XML 类型插入操作
- GridView分页方法(显示总页数、当前页)
- xml 类型的exist 的用法
- profile在IT领域的profile
- SQL XML类型的查询
- 英语音标学习顺口溜集锦
- 怎么把一个date型的数据存如sql数据库,对应字段也是date类型。
- error at ::0 can't find referenced pointcut..可能出现错误的原因