我有一个隐藏任务栏的程序,你看看你是否用得着。mobile sdk6410下的控制台程序:
由于任务栏挡住了我要用的调试工具,所以要关掉,等我不要,在打开。如果你想一直打开,下面的代码稍微改一下就能实现了。
#include <windows.h>
#include <winuser.h>
int _tmain(int argc, _TCHAR* argv[])
{
HWND hWnd;
DWORD dwLen;
PROCESS_INFORMATION pi;
TCHAR szPath[MAX_PATH];
dwLen = GetModuleFileName(NULL, szPath, MAX_PATH);//获取当前模块目录
if (!dwLen)
{
return 0;
}
while (szPath[--dwLen] != _T('\\'))
{
szPath[dwLen] = _T('\0');
}
wcscat(szPath, _T("DM.exe"));//调试工具的可执行文件
hWnd = FindWindow(_T("HHTaskBar"), NULL);//找到任务栏句柄
if (hWnd)
{
//隐藏任务栏
EnableWindow(hWnd, FALSE);
ShowWindow(hWnd, SW_HIDE);
}
if(CreateProcess(szPath, NULL, NULL, 0, FALSE, 0, NULL, NULL, NULL, &pi))
{
WaitForSingleObject(pi.hProcess, INFINITE);//无线等待,直到调试工具关闭
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
}
//显示任务栏
EnableWindow(hWnd, TRUE);
ShowWindow(hWnd, SW_SHOW);
return 0;
}
由于任务栏挡住了我要用的调试工具,所以要关掉,等我不要,在打开。如果你想一直打开,下面的代码稍微改一下就能实现了。
#include <windows.h>
#include <winuser.h>
int _tmain(int argc, _TCHAR* argv[])
{
HWND hWnd;
DWORD dwLen;
PROCESS_INFORMATION pi;
TCHAR szPath[MAX_PATH];
dwLen = GetModuleFileName(NULL, szPath, MAX_PATH);//获取当前模块目录
if (!dwLen)
{
return 0;
}
while (szPath[--dwLen] != _T('\\'))
{
szPath[dwLen] = _T('\0');
}
wcscat(szPath, _T("DM.exe"));//调试工具的可执行文件
hWnd = FindWindow(_T("HHTaskBar"), NULL);//找到任务栏句柄
if (hWnd)
{
//隐藏任务栏
EnableWindow(hWnd, FALSE);
ShowWindow(hWnd, SW_HIDE);
}
if(CreateProcess(szPath, NULL, NULL, 0, FALSE, 0, NULL, NULL, NULL, &pi))
{
WaitForSingleObject(pi.hProcess, INFINITE);//无线等待,直到调试工具关闭
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
}
//显示任务栏
EnableWindow(hWnd, TRUE);
ShowWindow(hWnd, SW_SHOW);
return 0;
}