Что нового

Принудительно свернуть программу

prokazzza

Новичок
Сообщения
160
Репутация
2
Как принудительно запустить программу в свернутом режиме если параметр @SW_HIDE на неё не действует.
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
prokazzza
что за программа? всмысле на чем она написана?! NET?! Delphi !? что о ней "говорит" au3info ? )

возможно ты не туда высылаешь @SW_HIDE? или все действует кроме @SW_HIDE пример кода можно?
 
Автор
P

prokazzza

Новичок
Сообщения
160
Репутация
2
Guezt Gutsy сказал(а):
prokazzza
что за программа? всмысле на чем она написана?! NET?! Delphi !? что о ней "говорит" au3info ? )

возможно ты не туда высылаешь @SW_HIDE? или все действует кроме @SW_HIDE пример кода можно?

Код простой )

Run ("IPnetServer.exe", "", @SW_HIDE)

Насчет програмы даж не знаю на чем она написана. au3info показывает:

Код:
>>>> Window <<<<
Title:	IPnetServer
Class:	IPnetServer
Position:	13, 101
Size:	396, 436
Style:	0x94000000
ExStyle:	0x00080000
Handle:	0x000B0A96

>>>> Control <<<<
Class:	
Instance:	
ClassnameNN:	
Advanced (Class):	
ID:	
Text:	
Position:	
Size:	
ControlClick Coords:	
Style:	
ExStyle:	
Handle:	0x00070A6A
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
Можно попробовать запустить программу и далее, как только появится ее коно - скрыть его.
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
prokazzza
попробуй так:
Код:
Run(@ScriptDir&'\IPnetServer.exe')
WinWait('IPnetServer','',15)
if WinExists('IPnetServer') Then WinSetState('IPnetServer','',@SW_HIDE)
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Guezt Gutsy [?]
Правильнее так:

Код:
Run(@ScriptDir&'\IPnetServer.exe')
$hWindow = WinWait('IPnetServer', '', 15)
If $hWindow Then WinSetState($hWindow, '', @SW_HIDE)
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
CreatoR
Верно подметил ;)
OffTopic:
Где автор темы? )) нашел в опциях программы IPnetServer "запускать программу свернутой"? ))
 
Автор
P

prokazzza

Новичок
Сообщения
160
Репутация
2
К сожалению ни верхний ни этот вариант не помогает, окно все равно появляется. Остается только воспользоваться командой "Свернуть все окна" это можно сделать с помощью скрипта??
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
prokazzza
Ну сдвинь его за пределы экрана )
Код:
Run(@ScriptDir&'\IPnetServer.exe')
$hWindow = WinWait('IPnetServer', '', 15)
If $hWindow Then WinMove($hWindow,'',@DesktopWidth+100,@DesktopHeight+100)


или сделай прозрачным:
Код:
Run(@ScriptDir&'\IPnetServer.exe')
$hWindow = WinWait('IPnetServer', '', 15)
If $hWindow Then WinSetTrans($hWindow,'',0)
 
Автор
P

prokazzza

Новичок
Сообщения
160
Репутация
2
Прошу прошения оказывается все прекрасно работает, окно скрывается. Единственное что оно все равно на секунду появляется на экране, не запускается свернутым, но это не критично. :smile: Спасибо всем за помошь. :beer:
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
prokazzza [?]
Единственное что оно все равно на секунду появляется на экране
Можно это время уменьшить немного:

Код:
Opt("WinWaitDelay", 1)

Run(@ScriptDir&'\IPnetServer.exe')
$hWindow = WinWait('IPnetServer', '', 15)
If $hWindow Then WinSetState($hWindow, '', @SW_HIDE)
 

eus_deus

Новичок
Сообщения
118
Репутация
0
Всем привет!
Тоже не могу запустить скрытно... Программа - инсталлер портабельной проги
Class - TWizardForm
Пишу так - все равно не скрывается
Код:
Func _test1()
    Local $sFilePath, $aFile, $sFile
    $sFilePath = 'd:\TC\Update\usb_safely_remove_6.2.1.1284'
    $aFile = _FO_FileSearch ($sFilePath, 'USB Safely Remove*')
    $sFile = _ArrayToString ($aFile, '|', 1, 1)
    ShellExecuteWait ($sFile, "/SILENT /PORTABLE=1" , $sFilePath, '', @SW_HIDE)
EndFunc
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
возможно, программа поддерживает ключ verysilent
 
Верх