powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как убрать иконку?
14 сообщений из 14, страница 1 из 1
Как убрать иконку?
    #33238569
Vadim_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите, пожалуйста! Моя программа на VFP 8.0 должна открывать и закрыть другое приложения, запускаемого из C:\PRIMER\Primer.exe. Закрывать само приложение получается, но вот только в таскбаре остаётся иконка от Primera. Как убрать иконку? Вот фрагмент:

* Открытие приложения

DECLARE SHORT CreateProcess IN WIN32API ;
STRING lpszModuleName, ;
STRING @lpszCommandLine, ;
STRING lpSecurityAttributesProcess, ;
STRING lpSecurityAttributesThread, ;
SHORT bInheritHandles, ;
INTEGER dwCreateFlags, ;
STRING lpvEnvironment, ;
STRING lpszStartupDir, ;
STRING @lpStartInfo, ;
STRING @lpProcessInfo

Local lpStartUpInfo,lpProcessInfo
lpStartUpInfo =REPL(CHR(0),66)
lpProcessInfo = REPL(CHR(0),16)


CreateProcess("c:\PRIMER\Primer.exe",0,0,0,0,0,0,;
0,@lpStartUpInfo,@lpProcessInfo)

lProcessID = (((ASC(SUBST(lpProcessInfo,4,1))*256) + ;
ASC(SUBST(lpProcessInfo,3,1)))*256 + ;
ASC(SUBST(lpProcessInfo,2,1)))*256 + ;
ASC(SUBST(lpProcessInfo,1,1))


* Закрытие приложения

Declare Integer TerminateProcess in Win32Api INTEGER, INTEGER
Declare INTEGER GetExitCodeProcess in Win32Api Integer, Integer @
LOCAL ExitCode
GetExitCodeProcess(lProcessID,@ExitCode)
TerminateProcess(lProcessID,0)
Буду очень признателен за оказанную помощь!
...
Рейтинг: 0 / 0
Как убрать иконку?
    #33238668
Andres 1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем же его сразу топором-то... То есть TerminateProcess. Может, начать помягче - послать сообщение WM_CLOSE, например?
...
Рейтинг: 0 / 0
Как убрать иконку?
    #33238899
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andres 1Зачем же его сразу топором-то... То есть TerminateProcess. Может, начать помягче - послать сообщение WM_CLOSE, например?
А если оно начнёт вопрошать про то, действительно ли Вы хотите меня грохнуть?
...
Рейтинг: 0 / 0
Как убрать иконку?
    #33239165
Vadim_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дополнение к первому вопросу:
После закрытия приложения C:\PRIMER\Primer.exe с помощью программы остаётся иконка в таскбаре. Но если к ней подвести мышку, то иконка пропадает сама. Может как-то можно сделать тоже самое программой?
...
Рейтинг: 0 / 0
Как убрать иконку?
    #33239338
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решение в лоб через жопу. Програмно передвинуть мышку и сразу вернуть на место.
...
Рейтинг: 0 / 0
Как убрать иконку?
    #33240033
IcyCool
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А система 95/98? Если да, то это глюк системы - как сделать поиши в MSDN - там такое помню. Под 2000/ХР такого не должно быть
...
Рейтинг: 0 / 0
Как убрать иконку?
    #33240083
Vadim_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IcyCoolА система 95/98? Если да, то это глюк системы - как сделать поиши в MSDN - там такое помню. Под 2000/ХР такого не должно быть
Есть везде
...
Рейтинг: 0 / 0
Как убрать иконку?
    #33242825
Vadim_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Бонус 100$ тому кто поможет решить вопрос!
...
Рейтинг: 0 / 0
Как убрать иконку?
    #33246539
IcyCool
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мохно грохнуть explorer.exe и запустить по новой :-)
...
Рейтинг: 0 / 0
Как убрать иконку?
    #33246987
Vadim_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А в программе это как написать надо?
...
Рейтинг: 0 / 0
Как убрать иконку?
    #33247089
IcyCool
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В С++ с MFC зделал так:

CWnd* pWnd=FindWindow("Shell_TrayWnd",NULL);
pWnd->CloseWindow();

работает под ХР без перезапуска процесса, но панель задач обновляется - заметно даже!

Прилагаю прогу (нужен MFC 4.2)

авторБонус 100$ тому кто поможет решить вопрос!
Все в силе?!
...
Рейтинг: 0 / 0
Как убрать иконку?
    #33247666
Vadim_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Перезапуск - есть, иконка -тоже есть. Она не убирается, остаётся как была. Пришли мне письмо. Я в ответе пришлю ту программу, которая должна выгружаться вместе с иконкой.
...
Рейтинг: 0 / 0
Как убрать иконку?
    #33249370
Andres 1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариант 1:
Спрятать окно (API ShowWindow), потом убить приложение.

Вариант 2:
Код для VB , на фокс придется переводить самому:


идея в том, что
1) прячем окно - API ShowWindow
2) берем стиль окна - API GetWindowLong
3) поправляем стиль окна, чтобы убрать оттуда WS_EX_APPWINDOW
4) устанавливаем стиль окна - API SetWindowLong
5) показываем окно - API ShowWindow

После этого можно и убить приложение.
...
Рейтинг: 0 / 0
Как убрать иконку?
    #33250814
Vadim_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andres 1Вариант 1:
Спрятать окно (API ShowWindow), потом убить приложение.

Вариант 2:
Код для VB , на фокс придется переводить самому:


идея в том, что
1) прячем окно - API ShowWindow
2) берем стиль окна - API GetWindowLong
3) поправляем стиль окна, чтобы убрать оттуда WS_EX_APPWINDOW
4) устанавливаем стиль окна - API SetWindowLong
5) показываем окно - API ShowWindow

После этого можно и убить приложение.
Большое спасибо за то что Вы написали! Только должен признаться, что я не программист. У меня просто задание такое - решить загвоздку. Я буду очень благодарен, если Вы пришлёте либо строчки в VFP, либо скомпилированный ехе-шник, который будет убирать иконку и при этом ничего не выдавать, ничего не спрашивать и самостоятельно сразу закрываться.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как убрать иконку?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]