Что нового

Скрипт запускающий программу не зависимо от того на каком диске она расположена

berkut9737

Новичок
Сообщения
22
Репутация
0
Скрипт должен зпускать, к примеру, winamp.exe не зависимо от того на каком диске расположена программа, будь-то: С:, D:, E: и т.д..
Грубо, это должно выглядеть так:
Код:
Run("C:\Program Files\Winamp\winamp.exe, D:\Program Files\Winamp\winamp.exe, E:\Program Files\Winamp\winamp.exe ", "", "")
 

VladUs

Скриптер
Сообщения
621
Репутация
181
Я Вас правельно понял, что программма находится на каком-то одном локальном диске ?
 
Автор
B

berkut9737

Новичок
Сообщения
22
Репутация
0
VladUs, мы не знаем на каком диске будет находиться программа, но скрипт должен её найти и запустить. П.С. Да, на одном.
 

VladUs

Скриптер
Сообщения
621
Репутация
181
Код:
$var = DriveGetDrive( "all" )
$Path = "\Program Files\Winamp\winamp.exe"
If NOT @error Then
    For $i = 1 to $var[0]
		If FileExists($var[$i]& $Path) Then
		run($var[$i]& $Path)
		ExitLoop
		EndIf
    Next
EndIf
 

Arei

Скриптер
Сообщения
938
Репутация
115
но тут дело неизвестно полностью, т.е не известно да же что он установлен в Program Files
 

Arei

Скриптер
Сообщения
938
Репутация
115
вот поиск файла
Код:
#include <File.au3>
$d = 0
$var = DriveGetDrive( "all" )


$var = DriveGetDrive( "all" )

    For $i = 1 to $var[0]
_FindFiles( $var[$i], 'kmplayer.exe')
		Next


Func _FindFiles($sRoot, $sFile)

    Local $FileList

    $FileList = _FileListToArray($sRoot, $sFile, 1)
    If Not @error Then
        For $i = 1 To $FileList[0]

ConsoleWrite($sRoot & '\' & $FileList[$i] )
if $d = 0 then
	Run($sRoot & '\' & $FileList[$i], "")
	$d = 1
	Endif

 Next
    EndIf
    $FileList = _FileListToArray($sRoot, '*', 2)
    If Not @error Then
        For $i = 1 To $FileList[0]
            _FindFiles($sRoot & '\' & $FileList[$i], $sFile)
        Next
    EndIf
EndFunc

,но это такой способ долгий, но рабочий.
 

XpycT

Скриптер
Сообщения
380
Репутация
132
а можно и так определить
Код:
#Region Includes
#EndRegion Includes
#NoTrayIcon

$sWinampPath = RegRead("HKEY_CLASSES_ROOT\Applications\winamp.exe\shell\open\command", "")
$sWinampPath = StringTrimRight($sWinampPath, 5)
ConsoleWrite("$sWinampPath = " & $sWinampPath & @CR)
 

Arei

Скриптер
Сообщения
938
Репутация
115
вот сколько ответов разных :smile: :IL_AutoIt_1:
 
Автор
B

berkut9737

Новичок
Сообщения
22
Репутация
0
XpycT, Arei , спасибо вам большое! Чудеса, да и только! :ok: :IL_AutoIt_1:
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,716
{TopicSolvedInfo}
 
Верх