|
Did you see EnumProcesses on the msdn it has two examples
|
|
|
|
|
I've tested that two. Thanks a lot!
36. When you surround an army, leave an outlet free.
...
Do not press a desperate foe too hard.
SUN-TZU - Art of War
|
|
|
|
|
You're welcome
|
|
|
|
|
RomTibi wrote: Can other programs determine that P.EXE is running at that time?
To add to the excellent replies you've already received...
Yes.
Mark
|
|
|
|
|
for the change, I'd say "Oui".
Code-Frog:So if this is Pumpkinhead. Time for him to run and hide. It's an interesting thought really.
|
|
|
|
|
I mean, by VC6
36. When you surround an army, leave an outlet free.
...
Do not press a desperate foe too hard.
SUN-TZU - Art of War
|
|
|
|
|
No (I have to say that - it's expected of me).
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
Kidding aside, did you get a solution yet?
|
|
|
|
|
I'm impressed on how many words are saying people about my stupid question. The fact is that I found a solution, but, I try to learn more.
We have a proverb:
A stupid man throw a pebble into the lake and ten wise man can't take it back.
Thanks to all
36. When you surround an army, leave an outlet free.
...
Do not press a desperate foe too hard.
SUN-TZU - Art of War
|
|
|
|
|
Just good clean fun I'm glad you found a solution!
RomTibi wrote: We have a proverb:
A stupid man throw a pebble into the lake and ten wise man can't take it back.
I have a question about the proverb - Are we the stupid man, the pebble, the lake, or the
wise men?
Take care,
Mark
|
|
|
|
|
Wise men, off course! Are you ?
Just kidding!
36. When you surround an army, leave an outlet free.
...
Do not press a desperate foe too hard.
SUN-TZU - Art of War
|
|
|
|
|
Mostly I'm
|
|
|
|
|
Lookup EnumProcesses() and/or CreateToolhelp32Snapshot()
You may be right I may be crazy -- Billy Joel --
Within you lies the power for good, use it!!!
|
|
|
|
|
Thanks for not joking with me.
36. When you surround an army, leave an outlet free.
...
Do not press a desperate foe too hard.
SUN-TZU - Art of War
|
|
|
|
|
With EnumProcesses you can see it
|
|
|
|
|
Thanks for not joking with me.
36. When you surround an army, leave an outlet free.
...
Do not press a desperate foe too hard.
SUN-TZU - Art of War
|
|
|
|
|
When you launch the program you'll probably be using CreateProcess or ShellExecuteEx . Either way you can get a HANDLE to the newly created process: in the PROCESS_INFORMATION structure if CreateProcess is used or the hProcess member of the SHELLEXECUTEINFO struct if ShellExecuteEx is used. Use the WaitForSingleObject API passing this HANDLE value.
Steve
|
|
|
|
|
Thanks! I'll try it.
36. When you surround an army, leave an outlet free.
...
Do not press a desperate foe too hard.
SUN-TZU - Art of War
|
|
|
|
|
Hi all. Im trying something new. Something yesterday gave me an idea that i could use it with more than one source file. So i created 2 source files and 1 header file to do all the including and bridging communication between sources.
Here's what i have so far.
Source 1
<br />
#include "include.h"<br />
<br />
int main(){<br />
const SIZE = 100;<br />
char msg[SIZE];<br />
printf("Enter a file you'd like to read: ");<br />
cin.getline(msg,SIZE);<br />
if(!msg){<br />
printf("File %s doesnt exist.\n",msg);<br />
}<br />
else{<br />
printf("Reading file %s",msg);<br />
readfile();<br />
}<br />
return 0;<br />
}<br />
Source 2
<br />
#include "include.h"<br />
<br />
void readfile(void){<br />
char buffer[100]={'\0'};<br />
ifstream file("test.txt");<br />
while(file.getline(buffer, 100)){<br />
Sleep(3000);<br />
printf("%s\n",buffer);<br />
}<br />
file.close();<br />
cin.get();<br />
} <br />
Source 1 is to check what type of file you want to read. And determines if its in the area or not. Then source 2 actually does the reading once source1 gives it the O.K. - But im getting errors like mad.
<br />
: error C2513: 'const struct tagSIZE' : no variable declared before '='<br />
: error C2275: 'SIZE' : illegal use of this type as an expression<br />
: see declaration of 'SIZE'<br />
: error C2057: expected constant expression<br />
: error C2466: cannot allocate an array of constant size <br />
: error C2133: 'msg' : unknown size<br />
: error C2275: 'SIZE' : illegal use of this type as an expression<br />
: see declaration of 'SIZE'<br />
If i compile them individually they work fine. But together they seem not to like each other. How do i fix this? Thanx in advance.
|
|
|
|
|
SIZE is already defined in the Windows headers (which you can see from the error message saying "struct tagSIZE" and "illegal use of this type"). Change it to something else.
|
|
|
|
|
dellthinker wrote: error C2513: 'const struct tagSIZE' : no variable declared before '='
As said earlier its predefined, so you need to initialized it accordingly.And you have missed there variable name/data type.
Declare it like this,
const int SIZE= 100;
char msg[SIZE];
|
|
|
|
|
What is the function that will allow me to execute a program in my c++ program?
|
|
|
|
|
See for CreateProcess() or ShellExecute() documentation on MSDN.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
|
I vote for CreateProcess() . You get a lot more info about the process you create when you use that function than with any of the other methods (ShellExecute or WinExec ).
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|