xp / batch / purebasic findwindow (for lazy people)

For everything that's not in any way related to PureBasic. General chat etc...
User avatar
blueznl
PureBasic Expert
PureBasic Expert
Posts: 6172
Joined: Sat May 17, 2003 11:31 am
Contact:

xp / batch / purebasic findwindow (for lazy people)

Post by blueznl »

let's say that you just bought a fancy keyboard with fancy buttons, and you want at a press of a button be ready to go...

here's something very simple

Code: Select all

p.s = ProgramParameter()
OpenConsole()
Print("looking for "+p+"... ")
If FindWindow_(0,p) <> 0
  PrintN("found")
  r = 1
Else
  PrintN("not found")
  r = 0
EndIf
End r
compile as console executable as 'findwindow.exe' and put it somewhere in the search path

now, let's say you run trillian from a batch file...

Code: Select all

c:
cd c:\software\batch
findwindow trillian
if errorlevel 1 goto trillianloaded
  trillian.lnk
:trillianloaded
or, with one press of a key, you want to get ready to program... launch total commander, your email client, map the server, start your messenger, get in the japbe mood and add some music...

Code: Select all

c:
cd c:\software\batch
totalcommander.lnk
outlookexpress.lnk
call mapserv1.bat
call trillian.bat
japbe.lnk
call pbforums.bat
dbpoweramp.lnk
as a final note (something i feel very stupid about because it took me so long to figure it out) launching a program under win2k / winxp without halting the batchfile is done by calling the schortcut (.lnk) file, not the exe... so copy / create shortcuts where necessary
( PB6.00 LTS Win11 x64 Asrock AB350 Pro4 Ryzen 5 3600 32GB GTX1060 6GB - upgrade incoming...)
( The path to enlightenment and the PureBasic Survival Guide right here... )
Berikco
Administrator
Administrator
Posts: 1326
Joined: Wed Apr 23, 2003 7:57 pm
Location: Belgium
Contact:

Re: xp / batch / purebasic findwindow (for lazy people)

Post by Berikco »

blueznl wrote: as a final note (something i feel very stupid about because it took me so long to figure it out) launching a program under win2k / winxp without halting the batchfile is done by calling the schortcut (.lnk) file, not the exe... so copy / create shortcuts where necessary
Just put Start before the exe....
start /?
Starts a separate window to run a specified program or command.

START ["title"] [/Dpath] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/WAIT] [/B] [command/program]
[parameters]

"title" Title to display in window title bar.
path Starting directory
B Start application without creating a new window. The
application has ^C handling ignored. Unless the application
enables ^C processing, ^Break is the only way to interrupt
the application
I The new environment will be the original environment passed
to the cmd.exe and not the current environment.
MIN Start window minimized
MAX Start window maximized
SEPARATE Start 16-bit Windows program in separate memory space
SHARED Start 16-bit Windows program in shared memory space
LOW Start application in the IDLE priority class
NORMAL Start application in the NORMAL priority class
HIGH Start application in the HIGH priority class
REALTIME Start application in the REALTIME priority class
ABOVENORMAL Start application in the ABOVENORMAL priority class
BELOWNORMAL Start application in the BELOWNORMAL priority class
WAIT Start application and wait for it to terminate
command/program
If it is an internal cmd command or a batch file then
the command processor is run with the /K switch to cmd.exe.
This means that the window will remain after the command
has been run.

If it is not an internal cmd command or batch file then
it is a program and will run as either a windowed application
or a console application.

parameters These are the parameters passed to the command/program


If Command Extensions are enabled, external command invocation
through the command line or the START command changes as follows:

non-executable files may be invoked through their file association just
by typing the name of the file as a command. (e.g. WORD.DOC would
launch the application associated with the .DOC file extension).
See the ASSOC and FTYPE commands for how to create these
associations from within a command script.

When executing an application that is a 32-bit GUI application, CMD.EXE
does not wait for the application to terminate before returning to
the command prompt. This new behavior does NOT occur if executing
within a command script.

When executing a command line whose first token is the string "CMD "
without an extension or path qualifier, then "CMD" is replaced with
the value of the COMSPEC variable. This prevents picking up CMD.EXE
from the current directory.

When executing a command line whose first token does NOT contain an
extension, then CMD.EXE uses the value of the PATHEXT
environment variable to determine which extensions to look for
and in what order. The default value for the PATHEXT variable
is:

.COM;.EXE;.BAT;.CMD

Notice the syntax is the same as the PATH variable, with
semicolons separating the different elements.

When searching for an executable, if there is no match on any extension,
then looks to see if the name matches a directory name. If it does, the
START command launches the Explorer on that path. If done from the
command line, it is the equivalent to doing a CD /D to that path.
User avatar
blueznl
PureBasic Expert
PureBasic Expert
Posts: 6172
Joined: Sat May 17, 2003 11:31 am
Contact:

Post by blueznl »

yeah, start works also, but it did not work in all cases i found out, dunno' why

also, firewalls like zonealarm get confused and tempt you to give internet access to *anything* started with start, not sure if that's a good idea :-)
( PB6.00 LTS Win11 x64 Asrock AB350 Pro4 Ryzen 5 3600 32GB GTX1060 6GB - upgrade incoming...)
( The path to enlightenment and the PureBasic Survival Guide right here... )
Berikco
Administrator
Administrator
Posts: 1326
Joined: Wed Apr 23, 2003 7:57 pm
Location: Belgium
Contact:

Post by Berikco »

Solution is easy :)
Dont use those software firewalls, Blackice users there computers where trashed by a worm 3 weeks ago, buffer overflow in blackice....
User avatar
blueznl
PureBasic Expert
PureBasic Expert
Posts: 6172
Joined: Sat May 17, 2003 11:31 am
Contact:

Post by blueznl »

:-)

got one machine running blackice, one more using mcafee, the rest is running zonealarm (in different incarnations)

the gateway is running zonealarm, every machine is running it's own firewall, even behind the gateway (i do not like intrusions, you can tell :-))
( PB6.00 LTS Win11 x64 Asrock AB350 Pro4 Ryzen 5 3600 32GB GTX1060 6GB - upgrade incoming...)
( The path to enlightenment and the PureBasic Survival Guide right here... )
Post Reply