Форум: "WinAPI";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];
ВнизКак скрыть кнопку на панели задач? Найти похожие ветки
← →
Колбасьев © (2004-09-12 18:36) [0]Как скрыть кнопку на панели задач?
И как запустить процесс "невидимым",ShellExecute(Handle, "open", "MyServer.exe", nil, PChar
(ExtractFileDir(Application.ExeName)), SW_HIDE);
не помогает. Выглядит все также как SW_SHOW.
← →
ANB © (2004-09-12 18:38) [1]CreateProcess юзай, тока сразу предупреждаю - пример выслать не смогу - это не мой комп. Полазь по хелпу и посмотри исходники.
← →
QuasiLamo © (2004-09-12 18:43) [2]с сайта delphiworld
-----------------------
Все запущенные .exe-файлы обозначаются значком на панели задач. А как же сделать, чтобы он стал невидим?
Нужно просто воспользоваться функцией ShowWindow
ShowWindow(Application.Handle, sw_Hide);
Для восстановления видимости значка:
ShowWindow(Application.Handle, sw_Show);
← →
ANB © (2004-09-12 18:51) [3]Вот чтобы получить Application.Handle и придется юзать CreateProcess.
← →
Колбасьев © (2004-09-13 18:01) [4]Handle я получаю через FindWindow.
CreateProcess меня не устраивает по одной причине - слишком много заполнять для пустякового дела.
QuasiLamo, ANB - спасибо.
← →
panov © (2004-09-13 18:50) [5]>Колбасьев © (13.09.04 18:01) [4]
И чего тут сложного?:
//Функция для создания нового процесса
//Параметры:
// aCommand: Строка для выполнения исполняемого файла(полный путь)
// aShow: Показывать/не показывать окно нового процесса
// aWaitExit: Ожидать/не ожидать завершения процесса
function ExecCmd(const aCommand,aParm: String;const aShow, aWaitExit: Boolean): Boolean;
var
pi:PROCESS_INFORMATION;
si:STARTUPINFO;
cmdLine,Path: String;
begin
ZeroMemory(@si,sizeof(si));
si.cb:=SizeOf(si);
si.dwFlags := STARTF_FORCEONFEEDBACK+STARTF_USESHOWWINDOW;
if aShow then si.wShowWindow := SW_SHOWNORMAL else si.wShowWindow := SW_HIDE;
Path := ExtractFilePath(aCommand);
cmdLine := aCommand+" "+aParm;
Result :=
CreateProcess( nil, // No module name (use command line).
PChar(cmdLine), // Command line.
nil, // Process handle not inheritable.
nil, // Thread handle not inheritable.
False, // Set handle inheritance to FALSE.
0, // No creation flags.
nil, // Use parent"s environment block.
PChar(Path), // Use parent"s starting directory.
si, // Pointer to STARTUPINFO structure.
pi ); // Pointer to PROCESS_INFORMATION structure.
if Result then
begin
if aWaitExit then WaitForSingleObject( pi.hProcess, infinite );
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
end;
end;
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c