MadBoy Posted January 9, 2006 Posted January 9, 2006 Anyone wanna help me converting this cmd file into .au3 code? The biggest problem for me is with that 'FOR' loop i guess. Rest shouldn't be that hard. Please help set DriverPack=%CDDRIVE%\DRIVERS ::// Define which class to install/update set class=Unknown ::// Path to SetupCopyOEMInf.exe tool set SetupCopyOEMInf=.\BIN\CopyINFs.exe ::// Path to Device Console tool set DevCon=.\BIN\devcon.exe %SetupCopyOEMInf% %DriverPack% goto :%class% :Unknown set command=remove ::// Find all Devices, with specified setup %class% name, and start %command% subroutine for each one FOR /F "tokens=1* delims=: " %%A IN ('%DevCon% FindAll ^=%class% ^| FIND ":"') DO (SET ID="%%A")&(SET DEVICE=%%B)&(SET HWID=%ID:~0,22%")&(CALL :%command%) ::// run single %command% set command=rescan goto :%command% :remove ::// Remove devices that match the specific hardware or instance ID echo Device: %device% %DevCon% %command% %HWID% :rescan ::// Tell plug&play to scan for new hardware %DevCon% %command% My little company: Evotec (PL version: Evotec)
CyberSlug Posted January 9, 2006 Posted January 9, 2006 If it ain't broke, don't fix it ; AutoIt 3.1.x Run("yourCmdScript.cmd", "", @SW_HIDE) Someone else might be able to decipher that loop.... Use Mozilla | Take a look at My Disorganized AutoIt stuff | Very very old: AutoBuilder 11 Jan 2005 prototype I need to update my sig!
MadBoy Posted January 9, 2006 Author Posted January 9, 2006 Ye i know, i could use it that way but would prefer clean au3 code Easier to add comments and such meanwhile that code is being executed And for me that loop looks realy ugly so i can't convert it myself. My little company: Evotec (PL version: Evotec)
MadBoy Posted January 10, 2006 Author Posted January 10, 2006 Okey here it goes cameronsdad, hope you can make from this info script that would replace that .cmd and that ugly loop there which is a bit complicated. Tnx for helping out. SetupCopyOEMInf.zip Usage: SetupCopyOEMInf.exe <dir with drivers in subdirectories> What it does: It scans a dir recursively and calls SetupCopyOEMInf for every .inf it finds (which copies a specified .inf file into the %windir%\Inf directory). WatchDriverSigningPolicy.zip Usage: WatchDriverSigningPolicy.exe What it does: Basically, this makes it so that when Windows finds non-signed drivers (non-WHQL), it doesn't care. I think this can be used instead of that WatchDriverSingingPolicy.exe: REGEDIT4 [HKEY_CURRENT_USER\Software\Microsoft\Driver Signing] "Policy"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Driver Signing] "Policy"=hex:01 [HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows NT\Driver Signing] "BehaviorOnFailedVerify"=dword:00000001 WatchDriverSingingPolicy.exe is supposed to work even during installation of windows where the registry changes fail, but in my program i don't need it since i start it after windows instalation is completed. So i guess this one is the easy part? devcon.zip Usage: devcon.exe Usage: devcon.exe [-r] [-m:\\<machine>] <command> [<arg>...] For more information type: devcon.exe help Device Console Help: devcon.exe [-r][-m:\\<machine>] <command> [<arg>...] -r if specified will reboot machine after command is complete, if needed. <machine> is name of target machine. <command> is command to perform (see below). <arg>... is one or more arguments if required by command. For help on a specific command, type: devcon.exe help <command> classfilter Allows modification of class filters. classes List all device setup classes. disable Disable devices that match the specific hardware or instance ID. driverfiles List driver files installed for devices. drivernodes Lists all the driver nodes of devices. enable Enable devices that match the specific hardware or instance ID. find Find devices that match the specific hardware or instance ID. findall Find devices including those that are not present. help Display this information. hwids Lists hardware ID's of devices. install Manually install a device. listclass List all devices for a setup class. reboot Reboot local machine. remove Remove devices that match the specific hardware or instance ID. rescan Scan for new hardware. resources Lists hardware resources of devices. restart Restart devices that match the specific hardware or instance ID. sethwid Modify Hardware ID's of listed root-enumerated devices. stack Lists expected driver stack of devices. status List running status of devices. update Manually update a device. updateni Manually update a device (non interactive). What does it do: it's main role in the script would be to find devices that have no drivers installed, remove them and rescan system to detect them again (pnp) so those can be detected again (as we copied proper .inf files with that SetupCopyOemInf.exe command).SetupCopyOEMInf.zipdevcon.zipWatchDriverSigningPolicy.zip My little company: Evotec (PL version: Evotec)
seandisanti Posted January 10, 2006 Posted January 10, 2006 Okey here it goes cameronsdad, hope you can make from this info script that would replace that .cmd and that ugly loop there which is a bit complicated. Tnx for helping out. SetupCopyOEMInf.zip Usage: SetupCopyOEMInf.exe <dir with drivers in subdirectories> What it does: It scans a dir recursively and calls SetupCopyOEMInf for every .inf it finds (which copies a specified .inf file into the %windir%\Inf directory). WatchDriverSigningPolicy.zip Usage: WatchDriverSigningPolicy.exe What it does: Basically, this makes it so that when Windows finds non-signed drivers (non-WHQL), it doesn't care. I think this can be used instead of that WatchDriverSingingPolicy.exe: REGEDIT4 [HKEY_CURRENT_USER\Software\Microsoft\Driver Signing] "Policy"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Driver Signing] "Policy"=hex:01 [HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows NT\Driver Signing] "BehaviorOnFailedVerify"=dword:00000001 WatchDriverSingingPolicy.exe is supposed to work even during installation of windows where the registry changes fail, but in my program i don't need it since i start it after windows instalation is completed. So i guess this one is the easy part? devcon.zip Usage: devcon.exe Usage: devcon.exe [-r] [-m:\\<machine>] <command> [<arg>...] For more information type: devcon.exe help What does it do: it's main role in the script would be to find devices that have no drivers installed, remove them and rescan system to detect them again (pnp) so those can be detected again (as we copied proper .inf files with that SetupCopyOemInf.exe command).ok, doesn't look like what needs to be done is very complicated at all, when it's explained like that. i will definitely have something for you shortly if noone responds before i finish this other UDF i'm working on.
seandisanti Posted January 10, 2006 Posted January 10, 2006 ok, doesn't look like what needs to be done is very complicated at all, when it's explained like that. i will definitely have something for you shortly if noone responds before i finish this other UDF i'm working on.couple of questions, is there a specific start directory you want for the recursive file search to start on? Do you want the user to pick starting directory? Do you want the files included with the script, should they already be on the computer, or do you want them replaced with autoit doing all of the work?
MadBoy Posted January 11, 2006 Author Posted January 11, 2006 That's what i have so far. The first tab is to install applications depending on profile you choose. There is also option with checkboxes where you choose what you want to install but i haven't finished it since i'm not sure how to ;p Anyways 2nd tab is the tab with Drivers where the script we are talking about should be executed. There is a tree of Notebook and pc models, the whole scritp should be executed for each model starting in it's own directory (since SetupCopyInf.exe has bad habbit to copy all inf files to Windows dir it would take couple of loong minutes to copy them if all the drivers for all computers were in one dir). Well there will be 2 ways to install drivers. One to install drivers from CD and one to install drivers from \\server\Install\Drivers or so. Problem is with LAN drivers, i will have to include them on CD for sure. Either there's no way the script can get into that server But i'll get it done. The structure on net as i see it now is like: \\server\Install\Drivers\Maxdata\3100X \\server\Install\Drivers\Maxdata\3200X \\server\Install\Drivers\Toshiba\4090 so one dir for each model. Eventually there will be last option to choose 'search' thru all drivers (will need a lot of time thou to go thru all drivers) for models that aren't on the list but maybe their using same drivers. Hrms.. i just had an idea to replace SetupCopyInf which takes way too long in longer run with SetDevicePath program which changes value in registry to whaterver you want it to.: Usage: SetDevicePath.exe %CDROM\DRIVERS Microsoft recommends to reset the DevicePath to "%SystemRoot%\Inf" after setup: REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion] "DevicePath"=hex(2)& #58;25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,0 0,6f,00,6f,\ 00,74,00,25,00,5c,00,49,00,6e,00,66,00,00,00 Maybe that will be better way to do it, to let Microsoft search in the right dir. The most important app here is the devcon.exe i guess. What you think? expandcollapse popup; Installer #NoTrayIcon ; Dane programu $autor = "Me" ; Wersja;) $version = 0.7 ; Lokalizacja - Nazwa serwera $location = "\\server\Install" #include <GUIConstants.au3> ;FileInstall("c:\logo.gif", "C:\Windows\Temp.gif") Opt("GUICoordMode", 1) GUICreate(" Installer ver. " & $version & " - " & $autor, 600,460) ; Logo ;$n=GUICtrlCreatePic("c:\Windows\Temp.gif",0,0, $position2 + 75,35) $tab=GUICtrlCreateTab (10,5, 585,450) ; OPROGRAMOWANIE - MENU $tab0=GUICtrlCreateTabitem ( "Applications") ; Utworzenie kontrolek $button_1 = GUICtrlCreateButton ("Zainstaluj", 300, 400, 120, 40) ; Grupa pierwsza - profile $nr0 = 14; pierwsza wspolrzedna kontrolek $nr1 = 17; pierwsza wspolrzedna dla guzikow radio tabelki $nr2 = 70; druga wspolrzedna dla guzikow radio tabelki $nr3 = 16; $position1 = 19 $position2 = 300 $group_1 = GUICtrlCreateGroup ("Wybierz profil:", $nr0, 50, 175, 220) GUIStartGroup() $radio_1 = GUICtrlCreateRadio ("Standardowy", $nr1, $nr2, 150, 20) $radio_2 = GUICtrlCreateRadio ("Standardowy mobilny", $nr1, $nr2 + 30, 150, 20) $radio_3 = GUICtrlCreateRadio ("Zaawansowany", $nr1, $nr2 + 60, 150, 20) $radio_4 = GUICtrlCreateRadio ("Zaawansowany mobilny", $nr1, $nr2 + 90, 150, 20) $radio_5 = GUICtrlCreateRadio ("Super", $nr1, $nr2 +120, 150, 20) $radio_6 = GUICtrlCreateRadio ("Super mobilny", $nr1, $nr2 + 150, 150, 20) ; Grupa druga - wybor reczny $group_2 = GUICtrlCreateGroup ("", 200, 50, 175, 35) $radio_7 = GUICtrlCreateRadio ("Wybór reczny", 202, 60, 150, 20) ;GUICtrlSetState(-1,$GUI_DISABLE) ;Napisy do GUI wyswietlanego po wybraniu profilu $group_3 = GUICtrlCreateGroup ("", $nr0, 280, 175, 165) GUICtrlSetState(-1,$GUI_HIDE) $Label1= GUICtrlCreateLabel ("", $position1, $position2, 150, 20) $Label2= GUICtrlCreateLabel ("", $position1, $position2 + 15, 150, 20) $Label3= GUICtrlCreateLabel ("", $position1, $position2 + 30, 150, 20) $Label4= GUICtrlCreateLabel ("", $position1, $position2 + 45, 150, 20) $Label5= GUICtrlCreateLabel ("", $position1, $position2 + 60, 150, 20) $Label6= GUICtrlCreateLabel ("", $position1, $position2 + 75, 150, 20) $Label7= GUICtrlCreateLabel ("", $position1, $position2 + 90, 150, 20) $Label8= GUICtrlCreateLabel ("", $position1, $position2 + 105, 150, 20) $Label9= GUICtrlCreateLabel ("", $position1, $position2 + 120, 150, 20) ;GUI z CheckBox-ami dla wyboru recznego $wybor= GUICtrlCreateTreeView (200,90,175,180,BitOr($TVS_CHECKBOXES,$TVS_HASBUTTONS,$TVS_HASLINES,$TVS_LINESATROOT,$TVS_DISABLEDRAGDROP,$TVS_SHOWSELALWAYS),$WS_EX_CLIENTEDGE) GUICtrlSetState(-1,$GUI_HIDE) $label10 = GuiCtrlCreateTreeViewItem("7 zip", $wybor) $label11 = GuiCtrlCreateTreeViewItem("Adobe Acrobat 7.0", $wybor) $label12 = GuiCtrlCreateTreeViewItem("Cisco VPN 4.7", $wybor) $label13 = GuiCtrlCreateTreeViewItem("Lotus Notes 5.02c", $wybor) $label14= GuiCtrlCreateTreeViewItem("Lotus Notes 5.10a", $wybor) $label15 = GuiCtrlCreateTreeViewItem("Microsoft Office XP", $wybor) $label16 = GuiCtrlCreateTreeViewItem("Microsoft Office 2003", $wybor) $label17 = GuiCtrlCreateTreeViewItem("Microsoft Project 2003", $wybor) $label18 = GuiCtrlCreateTreeViewItem("Microsoft Visio 2003", $wybor) $label19 = GuiCtrlCreateTreeViewItem("Symantec Antivirus", $wybor) ; STEROWNIKI MENU $tab1=GUICtrlCreateTabitem ("Drivers") $treeview = GUICtrlCreateTreeView ($nr0,50,300,250,BitOr($TVS_HASBUTTONS,$TVS_HASLINES,$TVS_LINESATROOT,$TVS_DISABLEDRAGDROP,$TVS_SHOWSELALWAYS),$WS_EX_CLIENTEDGE) ;---- $maxdataitem = GUICtrlCreateTreeViewitem ("Maxdata",$treeview) $3100Xitem = GUICtrlCreateTreeViewitem ("Maxdata 3100X",$maxdataitem) $3150Xitem = GUICtrlCreateTreeViewitem ("Maxdata 3100X",$maxdataitem) $3200Xitem = GUICtrlCreateTreeViewitem ("Maxdata 3200X",$maxdataitem) $6100Xitem = GUICtrlCreateTreeViewitem ("Maxdata 6100X",$maxdataitem) $7000Xitem = GUICtrlCreateTreeViewitem ("Maxdata 7000X",$maxdataitem) $7000DXitem = GUICtrlCreateTreeViewitem ("Maxdata 7000X",$maxdataitem) $7100Xitem = GUICtrlCreateTreeViewitem ("Maxdata 7100X",$maxdataitem) $8000Xitem = GUICtrlCreateTreeViewitem ("Maxdata 8000X",$maxdataitem) $8100ISitem = GUICtrlCreateTreeViewitem ("Maxdata 8100IS",$maxdataitem) $8100Xitem = GUICtrlCreateTreeViewitem ("Maxdata 8100X",$maxdataitem) ;---- $compaqitem = GUICtrlCreateTreeViewitem ("HP Compaq",$treeview) $evon150item = GUICtrlCreateTreeViewitem ("Compaq EVO N150",$compaqitem) $evon160item = GUICtrlCreateTreeViewitem ("Compaq EVO N160",$compaqitem) ;---- $fujitsuitem = GUICtrlCreateTreeViewitem ("Fujitsu-Siemens",$treeview) $fujitsuP300SiSitem = GUICtrlCreateTreeViewitem ("Fujitsu-Siemens P300 - SiS661",$fujitsuitem) $fujitsuP320SiSitem = GUICtrlCreateTreeViewitem ("Fujitsu-Siemens P320 - SiS661",$fujitsuitem) ;---- $toshibaitem = GUICtrlCreateTreeViewitem ("Toshiba",$treeview) ;--- $ibmitem = GUICtrlCreateTreeViewitem ("Ibm",$treeview) GUICtrlCreateTabitem ("") ; Show the GUI GUISetState () ;----------------------------------------------------------------------------- ;----------------------------------------------------------------------------- ;----------------------------------------------------------------------------- ;----------------------------------------------------------------------------- ;----------------------------------------------------------------------------- ; Sciezki do programow $7zip = $location &"\Main\Zip\zip.exe /S" $7zip_comment = "7zip" $Adobe7 = $location &"\Main\Adobe_Acrobat\Adobe_Reader_7.0.msi -qn" $Adobe7_comment = "Adobe Acrobat Reader 7.0" $Notes502 = $location &"\Main\Lotus_Notes_5.02c\Setup.exe -s -f1 SETUP.ISS" $Notes502_comment = "Lotus Notes 5.02c" $Notes510 = $location &"\Main\Lotus_Notes_5.10a\Setup.exe -s -f1 SETUP.ISS" $Notes510_comment = "Lotus Notes 5.10a" $Main = $location &"\Files\Main.bat" $Main_comment = "Windows - Personalizacja" $OfficeXP = $location &"\Main\Microsoft_OfficeXP\setup.exe TRANSFORMS=Unattended.MST /qb-" $OfficeXP_comment = "Microsoft Office XP" $Office2003 = $location &"\Advanced\Microsoft_Office2003\setup.exe TRANSFORMS=Unattended.MST /qb-" $Office2003_comment = "Microsoft Office 2003" $Project2003 = $location &"\Advanced\Microsoft_Project2003\setup.exe TRANSFORMS=Unattended.MST /qb-" $Project2003_comment = "Microsoft Project 2003" $Symantec = $location &"\Main\Symantec_Antivirus\Symantec_AntiVirus.msi /qn RUNLIVEUPDATE=0 REBOOT=REALLYSUPPRESS" $Symantec_comment = "Symantec Antivirus 10" $Visio2003 = $location &"\Advanced\Microsoft_Visio2003\setup.exe TRANSFORMS=Unattended.MST /qb-" $Visio2003_comment = "Microsoft Visio 2003" $Vpn = $location &"\Main\Cisco_VPN\setup.exe" $Vpn_comment = "Vpn Client 4.7" While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE FileRecycle ("C:\Windows\Temp.gif") Exit Case $msg = $radio_1 GUICtrlSetState($group_3, $GUI_SHOW) GUICtrlSetData($group_3, "Do zainstalowania:") GUICtrlSetData( $Label1, $7zip_comment) GUICtrlSetData( $Label2, $Adobe7_comment) GUICtrlSetData( $Label3, $Notes502_comment) GUICtrlSetData( $Label4, $OfficeXP_comment) GUICtrlSetData( $Label5, $Symantec_comment) GUICtrlSetData( $Label6, $Main_comment) GUICtrlSetData( $Label7, "") GUICtrlSetData( $Label8, "") GUICtrlSetData( $Label9, "") Case $msg = $radio_2 GUICtrlSetState($group_3, $GUI_SHOW) GUICtrlSetData($group_3, "Do zainstalowania:") GUICtrlSetData( $Label1, $7zip_comment) GUICtrlSetData( $Label2, $Adobe7_comment) GUICtrlSetData( $Label3, $Notes502_comment) GUICtrlSetData( $Label4, $OfficeXP_comment) GUICtrlSetData( $Label5, $Symantec_comment) GUICtrlSetData( $Label6, $Main_comment) GUICtrlSetData( $Label7, $Vpn_comment) GUICtrlSetData( $Label8, "") GUICtrlSetData( $Label9, "") Case $msg = $radio_3 GUICtrlSetState($group_3, $GUI_SHOW) GUICtrlSetData($group_3, "Do zainstalowania:") GUICtrlSetData( $Label1, $7zip_comment) GUICtrlSetData( $Label2, $Adobe7_comment) GUICtrlSetData( $Label3, $Notes510_comment) GUICtrlSetData( $Label4, $Office2003_comment) GUICtrlSetData( $Label5, $Symantec_comment) GUICtrlSetData( $Label6, $Main_comment) GUICtrlSetData( $Label7, "") GUICtrlSetData( $Label8, "") GUICtrlSetData( $Label9, "") Case $msg = $radio_4 GUICtrlSetState($group_3, $GUI_SHOW) GUICtrlSetData($group_3, "Do zainstalowania:") GUICtrlSetData( $Label1, $7zip_comment) GUICtrlSetData( $Label2, $Adobe7_comment) GUICtrlSetData( $Label3, $Notes510_comment) GUICtrlSetData( $Label4, $Office2003_comment) GUICtrlSetData( $Label5, $Symantec_comment) GUICtrlSetData( $Label6, $Main_comment) GUICtrlSetData( $Label7, $Vpn_comment) GUICtrlSetData( $Label8, "") GUICtrlSetData( $Label9, "") Case $msg = $radio_5 GUICtrlSetState($group_3, $GUI_SHOW) GUICtrlSetData($group_3, "Do zainstalowania:") GUICtrlSetData( $Label1, $7zip_comment) GUICtrlSetData( $Label2, $Adobe7_comment) GUICtrlSetData( $Label3, $Notes510_comment) GUICtrlSetData( $Label4, $Office2003_comment) GUICtrlSetData( $Label5, $Project2003_comment) GUICtrlSetData( $Label6, $Visio2003_comment) GUICtrlSetData( $Label7, $Symantec_comment) GUICtrlSetData( $Label8, $Main_comment) GUICtrlSetData( $Label9, "") Case $msg = $radio_6 GUICtrlSetState($group_3, $GUI_SHOW) GUICtrlSetData($group_3, "Do zainstalowania:") GUICtrlSetData( $Label1, $7zip_comment) GUICtrlSetData( $Label2, $Adobe7_comment) GUICtrlSetData( $Label3, $Notes510_comment) GUICtrlSetData( $Label4, $Office2003_comment) GUICtrlSetData( $Label5, $Project2003_comment) GUICtrlSetData( $Label6, $Visio2003_comment) GUICtrlSetData( $Label7, $Symantec_comment) GUICtrlSetData( $Label8, $Main_comment) GUICtrlSetData( $Label9, $Vpn_comment) Case $msg = $button_1 AND BitAnd(GUICtrlRead($radio_1),$GUI_CHECKED) = $GUI_CHECKED RunWait($7zip, "") RunWait(@ComSpec & " /c " & $Adobe$position1, "", @SW_HIDE) RunWait($Notes502, "") RunWait($OfficeXP, "") RunWait(@ComSpec & " /c " & $Symantec, "", @SW_HIDE) RunWait($Main, "") Case $msg = $button_1 AND BitAnd(GUICtrlRead($radio_2),$GUI_CHECKED) = $GUI_CHECKED RunWait($7zip, "") RunWait(@ComSpec & " /c " & $Adobe$position1, "", @SW_HIDE) RunWait($Notes502, "") RunWait($OfficeXP, "") RunWait(@ComSpec & " /c " & $Symantec, "", @SW_HIDE) RunWait($Vpn, "") RunWait($Main, "") Case $msg = $button_1 AND BitAnd(GUICtrlRead($radio_3),$GUI_CHECKED) = $GUI_CHECKED RunWait($7zip, "") RunWait(@ComSpec & " /c " & $Adobe$position1, "", @SW_HIDE) RunWait($Notes510, "") RunWait($Office2003, "") RunWait(@ComSpec & " /c " & $Symantec, "", @SW_HIDE) RunWait($Main, "") Case $msg = $button_1 AND BitAnd(GUICtrlRead($radio_4),$GUI_CHECKED) = $GUI_CHECKED RunWait($7zip, "") RunWait(@ComSpec & " /c " & $Adobe$position1, "", @SW_HIDE) RunWait($Notes510, "") RunWait($Office2003, "") RunWait(@ComSpec & " /c " & $Symantec, "", @SW_HIDE) RunWait($Vpn, "") RunWait($Main, "") Case $msg = $button_1 AND BitAnd(GUICtrlRead($radio_5),$GUI_CHECKED) = $GUI_CHECKED RunWait($7zip, "") RunWait(@ComSpec & " /c " & $Adobe$position1, "", @SW_HIDE) RunWait($Notes510, "") RunWait($Office2003, "") RunWait($Project2003, "") RunWait($Visio2003, "") RunWait(@ComSpec & " /c " & $Symantec, "", @SW_HIDE) RunWait($Main, "") Case $msg = $button_1 AND BitAnd(GUICtrlRead($radio_6),$GUI_CHECKED) = $GUI_CHECKED RunWait($7zip, "") RunWait(@ComSpec & " /c " & $Adobe$position1, "", @SW_HIDE) RunWait($Notes510, "") RunWait($Office2003, "") RunWait($Project2003, "") RunWait($Visio2003, "") RunWait(@ComSpec & " /c " & $Symantec, "", @SW_HIDE) RunWait($Vpn, "") RunWait($Main, "") Case $msg = $radio_7 GUICtrlSetState($wybor, $GUI_SHOW) EndSelect WEndSetDevicePath.zip My little company: Evotec (PL version: Evotec)
MadBoy Posted January 18, 2006 Author Posted January 18, 2006 No comments? Suggestions ? Come on.. someone has to know something.. My little company: Evotec (PL version: Evotec)
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now