Solved

ShellExecute & ipconfig.exe

Posted on 2000-03-09
11
1,533 Views
Last Modified: 2008-03-06
I want to run ipconfig within my program and write the data to a file.
I tried the following codes but none of them worked.

ShellExecute(0, PChar('open'), PChar('ipconfig.exe'), PChar('/all > C:\output.tmp'), nil, SW_HIDE);

ShellExecute(0, PChar('open'), PChar('ipconfig.exe > c:\output.tmp'), PChar('/all'), nil, SW_HIDE);

If I run those commands in a DOS-Box they both work!
What am I doing wrong ??

Thanks in advance,
Tulip
0
Comment
Question by:Tulip
11 Comments
 
LVL 17

Expert Comment

by:inthe
ID: 2600704
hi tulip,
try it using winexec instead.
there was similar question the other day when shellexecute wouldnt work but winexec did.
0
 
LVL 9

Accepted Solution

by:
ITugay earned 50 total points
ID: 2600732
try this:
ShellExecute(0,'open','command','/c ipconfig /all > c:\output.tmp','',0);

Cheers,
Igor.
0
 
LVL 9

Expert Comment

by:ITugay
ID: 2600744
try this:
ShellExecute(0,'open','command','/c ipconfig /all > c:\output.tmp','',0);

Cheers,
Igor.
0
 

Expert Comment

by:klasse
ID: 2600952
I'm a bit confused everyone concerned... Does the /all flag really work? On my Win98 machine it doesn't, however the /batch filename command work fine..
And therefor the commandline parametr I'd use is similar to all above..
ShellExecute(Application.handle, 'open', 'ipconfig.exe', '/batch C:\output.tmp', nil, SW_Hide); - This works just fine, though I'm still puzzled regarding that /all flag...

good Luck
/©h®is
0
 

Author Comment

by:Tulip
ID: 2600989
klasse, I'm using NT4 SP5
Maybe, that's the difference.
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Author Comment

by:Tulip
ID: 2601071
WinExec doesn't work, but Igor's example does !
This is strange.
Anyway, thanks to all of you.
0
 
LVL 9

Expert Comment

by:ITugay
ID: 2601083
Tulip,
I have NT too, there no "/batch" option in our case;).
I can explain why you sample didn't work, if you need.

Best regards,
Igor.
0
 

Author Comment

by:Tulip
ID: 2601098
I'm listening ...
0
 

Author Comment

by:Tulip
ID: 2601113
I'm listening ...
0
 
LVL 9

Expert Comment

by:ITugay
ID: 2601268
Tulip,

The problem is that "> redirection" is option for command.com, not for executable module. It come from MS-DOS. If you run your applicaton with command.com and look at parameters, you even don't see "> ...". And, of course, IPCONFIG can't process this option. I mean that redirection of output is command.com's deals.

The option "/C" is command.com option. It mean "carries out application, then stop".

My expression is analog of
C:> command /C ipconfig /all > C:\output.tmp

Best regards,
Igor.
0
 

Author Comment

by:Tulip
ID: 2601510
Thanks, Igor
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
In this video I am going to show you how to back up and restore Office 365 mailboxes using CodeTwo Backup for Office 365. Learn more about the tool used in this video here: http://www.codetwo.com/backup-for-office-365/ (http://www.codetwo.com/ba…
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, just open a new email message. In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now