> > > Is it possible for a program to tell whether it was started > > > from the command line or started by double-clicking on the > > > application icon?
> > {=====================} > > program envtest; > > uses Dos; > > var > > F:text; > > i:LongInt; > > begin > > assign(F, 'envlist.txt'); > > rewrite(F); > > for i:=0 to EnvCount-1 do WriteLn(F, EnvStr(i)); > > close(F); > > end. > > {=====================} > I'd try to search the win32 api, and find a way to find the parent of my > process, > either by a direct call, or enumerating all processes. And then check if it > is > cmd.exe or command.com or explorer.exe Indeed, I guess I am still geared to thinking "command line" means "dos mode" :-) But I am still not sure that simply checking the name of the parent process is a reliable way to test for a console. If you want to use Win API calls, I think this would be a better (and simpler) way to do it: {===========================} program contest; uses windows; var info:tSTARTUPINFO; begin GetStartupInfo(@info); if ( info.hStdInput = 0 ) then {Started from Explorer} else {Started from Console} end. {===========================} _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal