Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.28;
Скачать: [xml.tar.bz2];




Вниз

winexec 


Run   (2001-12-23 22:15) [0]

Пишу : winexec("имя\путь программы",sw_shownormal);
проблема в том что , если вызываемая прога имеет параметр настройки "hide tray icon" , то моя программа виснет ...
Пробовал sw_hide и прочее , - не помогает .



RaZEr   (2001-12-24 06:16) [1]

Ты посмотри что за параметры уходят твоей проге ! Да и какие проблемы с
ShellExecute ?

PS Вообще WinExec это аналогия Пуск->Выполнить .



Run   (2001-12-24 09:21) [2]

Спасибо за совет , я начинающий , про shellexecute слышал , бум пробывать ..
Насчет аналогии - не совсем , если делать ЭТО через пуск>выполнить , то ничо не виснет (((



RaZEr   (2001-12-26 06:22) [3]

Ну тут дело в проге твоей , я скока раз юзал ничего не висло .

А вообще лучше сделать как я :
1. написать модуль , который юзаешь почти для каждой своей проги
2. напиши туда что-нить вроде :

uses ... , ShellAPI;

...

function My_Exec(Filename,Params,WorkDirectory : String) : boolean
begin
IF ShellExecute (Handle,"open",PChar(Filename),PChar(Params),PChar(WorkDirectory))<32 THEN MyExec := False ELSE MyExec := True;
end;

...

ЗЫ Какая разница что в проект подключать ShellAPI или какой-нить MyFunc .



Anatoly Podgoretsky   (2001-12-26 10:13) [4]

У тебя в примере по крайней мере две ошибки
1. количество параметров у функции 6
2. ошибка при коде возврата <= 32

Неоптимальный код

MyExec := ShellExecute(...) > 32;

"Какая разница" - большая, вместо одной строки с ShellExecute вызов дополнительной промежуточной функции, с передачей в нее кучи параметров и ограничения по возможностям (второй и шестой параметры).

Не плодите сущностей сверх необходимого. (c) Хаккам



RaZEr   (2001-12-27 06:14) [5]

Ну сори SW_SHOWNORMAL забыл . Да и потом чего ты про ресурсы заладил ? Ты может вообще все на Win32API пишешь ? Ну в принципе нафига VCL ?!! ... столько всего промежуточного !

А про <= 32 ? Когда возвращает 32 это есть что ?



Anatoly Podgoretsky   (2001-12-27 08:06) [6]

Это и есть тоже самое что и 31, про ресуры - нафига же лишнее, ну дело твое.



RaZEr   (2001-12-29 06:30) [7]

Нет , ну как это 31 , а когда он 32 возвращает ? Вообще есть смысл писать "<=" , может писать , как я уже видел в десятке примеров , просто "<" ?!

PS Да про ресурсы ты прав здесь это не очень уместно , функция и так доступна . Но порой приходится писать модули в которых поставляются функции , просто немного в другом виде . Ну например , если не уходить от темы , для упрощенного вызова CreateProcess() (там , если помнишь , десяток параметров , плюс некоторые из них структуры ) .



Anatoly Podgoretsky   (2001-12-29 07:59) [8]

Конечно можно писать только "<" , но тогда < 33, потому ошибка находится в диапазоне 0..32



RaZEr   (2001-12-30 06:21) [9]

Ясно , но ты так и не ответил , когда возвращает 32 .



Anatoly Podgoretsky   (2001-12-30 11:45) [10]

Тогда же когда и 1,2..31



RaZEr   (2002-01-01 07:04) [11]

Код ошибки 32 это есть что ? Я разве не прав , что код ошибки раскрывает ее причину ?! Также как в http 404 - not found 403 - fobidden и т.д.

32 ?



Anatoly Podgoretsky   (2002-01-01 13:31) [12]

Из 33 ошибок документировано только 4 (подробности в хелпе).
Ты лучше задайся вопросом, зачем тебе нужна эта функция, так как "This function is provided for compatibility with earlier versions of Windows.", у тебя earlier versions of Windows?




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.28;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.74 MB
Время: 0.037 c
3-90456           Ura                   2002-02-01 15:43  2002.02.28  
Получение разницы во времени в IB


3-90472           Ura                   2002-01-31 15:41  2002.02.28  
TIMESTAMP


3-90528           DenK_vrtz             2002-02-01 11:01  2002.02.28  
Вопросик про фильтры(+)


3-90515           СергейМНК             2002-02-04 06:15  2002.02.28  
Как сделать чтобы выскакивал LoockUp список при начале набора текста в DBGrid в LoockUp поле


1-90544           Serguar               2002-02-11 10:53  2002.02.28  
Каким образом можно перехватить сообщение от мыши, так как это делается для клавиатуры