|
Well, who wants to know. Another Process? The Same Process, Why?
Version 1.
I did something years ago like this as follows. It assumes that the name of the Exe was not changed, and that we know where it lives. First try to get the File Attributes. If that works, you know the file exists, and that it still lives were you expected it. Now try to change the Name (to it's own Name). This will fail if it's in use. An exe is typically in use when it's running. (Also ofcourse if someone just opened it in a Binary Editor, but most end users don't have those things anyways).
That's simple, but hardly robust.
Version 2.
As soon as your process starts, create a Globaly Named Object (Mutex, Semaphore) but do not claim exclusive ownership, unless if you want to ensure that only one copy runs at anyone time. To determine later whether the process is running, try to create the same Globaly Named Object, but now with exclusive access. This will fail if the object already exists ( i.e. the process is running).
Version 3.
Read Matt Pietrecks dissertations, and spelunk into the inner workings of the Kernel.
Bram van Kampen
|
|
|
|
|
i have a console apllication *.cpp i am using VC++ 6.0 can any one help be by telling how to import only a *.DLL file step by step
Ahmad Sabry
|
|
|
|
|
If you have the "LIB" file of your DLL, just open the work space (or solution explorer in VS 2005), right click on your project name and add the LIB file.
this way is called "static linking".
else you can use "LoadLibrary()" API, defining the path and name of the DLL.
The second way is called "dynamic linking".
In the second alternative, you must use "GetProcAddress()" API to use functions exported from DLL.
Any way, why don't you use MSDN.
|
|
|
|
|
This will depend on DLL which you wanna use.
Pleas specify more details.
|
|
|
|
|
I realy need to know how can I change alignment in an edit box in run time (I am using MFC).
|
|
|
|
|
Usef Marzbani wrote: I realy need to know how can I change alignment in an edit box in run time
They hide that information in the documentation[^]
led mike
|
|
|
|
|
You know, if Microsoft keeps hiding stuff the way they do, someone is going to need to put together some type of repository where we can get to it all. Sort of a "developer network" type of thing.
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Great idea David! But shouldn't you have posted it in the Suggestions forum?
led mike
|
|
|
|
|
void Serialize(CArchive &ar)
{
if (ar.IsStoring()) {
} else {
}
}
Any easy way to do this?
|
|
|
|
|
Short answer: Depends.
The CArchive represents only one file - it doesn't even have to represent a file, it could be a stream, etc.
Do you have one document, but the data in it should be saved into multiple files? Then don;t use the CDocument::Serialize method (I never do!), override the CDocument::OnOpenDocument method instead (and its corresponding save method).
You can then save / load however you like!
"Easy" will depend on just what you want to achieve.
Iain.
Iain Clarke appears because CPallini still cares.
|
|
|
|
|
If you really need to store multiple file into yor unique one, you have to copy every file content (possibly each one prefixed by its length).
You may wrap this behaviour into a serializable class (you may call it CFile , oops, no, wait a moment...).
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.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
I'm getting a strange error...
if I write:
if (uType == ANNEAL)
{
CAnneal * pOrigAnn = dynamic_cast<CAnneal *> (pOrigItem) ;
if(pOrigAnn != NULL)
{
CAnneal * pAnneal = new CAnneal();
}
...
Everything's fine. But, if I want to use a case instead of an if
switch (uType)
{
case ANNEAL:
CAnneal * pOrigAnn = dynamic_cast<CAnneal *> (pOrigItem) ;
if(pOrigAnn != NULL)
{
CAnneal * pAnneal = new CAnneal();
}
break;
case WHATEVER:
...
I get an error that says "initialization of 'pOrigAnn' is skipped by 'default' label" ... "See declaration of pOrigAnn"
|
|
|
|
|
Beacause you've not included your code inside a block and pOriginAnn is the whole switch block (while its assignment happens only in ANNEAL case.
You may change it to
switch (uType)
{
case ANNEAL:
{
CAnneal * pOrigAnn = dynamic_cast<CAnneal *> (pOrigItem) ;
if(pOrigAnn != NULL)
{
CAnneal * pAnneal = new CAnneal();
}
}
break;
case WHATEVER:
...
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.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
Interesting...
Thank you!!
|
|
|
|
|
Hi,
So you got the problem..
Thanks,
Suman
|
|
|
|
|
Hi,
Is there any other access of "pOrigAnn" outside of "case ANNEAL" like:
piul wrote:
switch (uType){
case ANNEAL:
CAnneal * pOrigAnn = dynamic_cast<CAnneal *> (pOrigItem);
if(pOrigAnn != NULL){
CAnneal * pAnneal = new CAnneal();
}
break;
case WHATEVER:...
...
break;
default:
...
}
//access pOrigAnn
or somewhere else?
Thanks,
Suman
|
|
|
|
|
Hello everyone,
A little confused after reading C++ FAQ, "Why doesn't delete zero out its operand?"
http://www.research.att.com/~bs/bs_faq2.html#delete-zero
I think the reason why delete can not zero out its operand is because delete can be operate on rvalue, like
delete f(x);
And we can not assign zero to the rvalue (i.e. delete's operand). My understanding correct?
thanks in advance,
George
|
|
|
|
|
Yes, Bjarne states that clearly.
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.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
Thanks CPallini,
I think you agree with my understanding.
regards,
George
|
|
|
|
|
Hi,
I am looking for algorithm which will find the given point is inside of a given polygon(a triangle) or not.
Which will work for coordinate in -ve and +ve direction.
Best Regards,
Suman
|
|
|
|
|
If you can walk over the lines polygon you should find the point always on the same side either left or right.
Otherwise check out this page[^]
codito ergo sum
|
|
|
|
|
You don't like PtInRegion and CreatePolyRegion functions, do you?
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.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
|
|
Hi,
Thanks for help..
How to create the region when the points are not in order and we need to fill the complete region by connecting outermost points using CreatePolyRegion() ?
Thanks,
Suman
|
|
|
|