|
Hi all
I have a program written in VC6 (running on XP) that I want to stop from having multiple copies open. I want it to check whether there is another instance of itself running on start up and close if there is. Using FindWindow() doesnt work as it finds itself!
Thanks for any help
Mike
|
|
|
|
|
Consider creating a global named mutex.
Each app does this:
1) Create mutex -- give it a unique name, possibly including a GUID
2) WaitForSingleObject -- to capture the mutex. If this fails, then there's someone else holding it.
On exit, ReleaseMutex() to give it up -- and make it available again.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br />
Peter Weyzen<br />
Staff Engineer<br />
<a href="http://www.soonr.com">SoonR Inc -- PC Power delivered to your phone</a>
|
|
|
|
|
You can try creating a named mutex with CreateMutex() API and checking the result with GetLastError(). When the second instance of the app tries to create it, GetLastError() will return ERROR_ALREADY_EXISTS as the mutex is already created by the first instance.
http://vcfaq.mvps.org/mfc/2.htm
|
|
|
|
|
See here.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
Use this code..
if(NULL!=:CreateMutex(NULL,TRUE,_T("SingleInstanceApp")))
{
long DwError = ::GetLastError();
if(dwError == ERROR_ALREDY_EXISTS)
EndDialog(IDOK)
}
Hope it helps
|
|
|
|
|
|
Hi all,
I am making an application comprising both C/C++ and .Net environments (for different modules). Both C++ and .Net modules create logs in some XML files. But I am now facing many problems in maintaining all the log files (mostly because of their sizes).
I am planning to create my logs in some database. But I am not familiar with using any database with C++ or with .Net code. Here are my requirements:
1 The very first requirement is that database should be free to use.
2 database should be able to connect with both C++ module and .Net (C# module)
Can anybody suggest me any such database that can be used freely. Also help me in knowing some tutorial by which I can connect my application with that free database.
Thanks in Advance
Aseem
|
|
|
|
|
Microsoft SQL server 2008 express[^] is the obvious answer. It integrates well with all other Microsoft products and is free.
MVP 2010 - are they mad?
|
|
|
|
|
Instead of asking in different forums in Code Project you could have performed a google search...
|
|
|
|
|
Please don't tell me, tell the person who did it!
MVP 2010 - are they mad?
|
|
|
|
|
Instead of keep replying, please do perform that fu#?@n' Google search!
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
[My articles]
|
|
|
|
|
Somebody didn't like your joke, so I upped it for you.
MVP 2010 - are they mad?
|
|
|
|
|
Thank you man!
I don't mind when someone downvotes my (supposed to be...) humorous posts, but, of course, I'm very glad you balanced it, thank you again, Richard.
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
[My articles]
|
|
|
|
|
As Richard MacCutchan pointed out, SQL Server Express 2008 is free and work well in C++ and .Net environments.
If you don't want to use that, there are other options. For example, Firebird and SQLite are both small and free. They work well in C/C++ and .Net. Try to do a search and check them out.
|
|
|
|
|
Friends,
Iam very naive to this community. can some body tell me where can i download Yahoo mesenger API's . Please share me the Link.
Thanks in Advance
|
|
|
|
|
I assume you used Google and did not find the link satisfactory ?
This signature was proudly tested on animals.
|
|
|
|
|
Don't you think one of the Yahoo sites would be the place to start?
MVP 2010 - are they mad?
|
|
|
|
|
Pardhu2 wrote: Iam very naive
Right you are. Maybe the following is a little bit past belief, but try to stay with me: I went to yahoo.com and typed in the words "yahoo messenger api" and you will never guess what happened...
Ditto for your other question[^] on the C#-Board regarding GMail-Api...
Great, isn't it?
|
|
|
|
|
I've got an MFC library project which I've converted from VC6 to VS2005, and it is set to "Not using ATL". However, VS2005 is compiling references to COleDateTime from the ATL namespace, causing linker errors in other projects that link to this library.
Any ideas on how to stop it?
TIA.
I hope you realise that hamsters are very creative when it comes to revenge. - Elaine
|
|
|
|
|
What linker error is it showing?
|
|
|
|
|
A variety of linker errors for missing ATL trace symbols and
unresolved external symbol "public: void __thiscall ATL::COleDateTime::SetStatus(enum ATL::COleDateTime::DateTimeStatus)" (?SetStatus@COleDateTime@ATL@@QAEXW4DateTimeStatus@12@@Z) referenced in function "public: int __thiscall CADORecordset::GetFieldValue(char const *,class ATL::COleDateTime &)" (?GetFieldValue@CADORecordset@@QAEHPBDAAVCOleDateTime@ATL@@@Z)
I hope you realise that hamsters are very creative when it comes to revenge. - Elaine
|
|
|
|
|
Sorry Stevte, I could not figure out the exact reason for this error. I tried a consol app + COleDateTime in VS 2005 without ATL. It is working fine for me.
By the way are you mixing older (6.0) libraries and the new 2005 libraries?
|
|
|
|
|
It's a project I converted from VC6. Irritatingly if I don't omit out a library (atlsd.lib) I get things missing but if I leave it in I get multiple definitions. Maybe I just need to create a blank project and add the files to it.
I hope you realise that hamsters are very creative when it comes to revenge. - Elaine
|
|
|
|
|
|
Thanks Jonathan, that looks likely. Does that mean I have to link the ATL library to an MFC project to use the shared classes?
I hope you realise that hamsters are very creative when it comes to revenge. - Elaine
|
|
|
|