Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 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?



Страницы: 1 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.004 c
1-90624
ruslan_as
2002-02-13 11:16
2002.02.28
Поставить все DBEdit в Enabled:=False;


1-90613
PlaZZma
2002-02-12 17:17
2002.02.28
Как проверить, находится ли курсор над компонентом или нет?


14-90659
Pokemon
2002-01-15 11:22
2002.02.28
Помогите друзья !!!!!!!!!!


1-90595
OneGoldFish
2002-02-12 14:32
2002.02.28
IDE. Как Component Pallete сделать MultiLine?


14-90642
anod
2002-01-12 18:01
2002.02.28
Книги





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский