|
You can kill the process - but by pressing only on the Shutdown button - because it destroy my database structure and i cant recover from this crash in the next start up of the application == > so its not really as it sound.
|
|
|
|
|
I suggest you think this through once again.
If the user wants to end an application from the Task Manager, a WM_CLOSE message is sent to the main window of the application. This starts the same call chain as if the user shuts down the application the normal way.
If the application for some reason doesn't close, the Task Manager will ask the user if he/she wants to terminate the application after a certain timeout. If the user answers 'yes' to that question the Task Manager will terminate the application with a call to ::TerminateProcess() brute force. There is nothing you can do about this because this is how the system works; your application will die instantly but you had the opportunity to shut it down nicely.
This means that the only situation in which you would be unable to save your database correctly is when your application has already hung, i.e. the user would not be able to shut it down the normal way.
In short:
Even if it was possible to prevent a call to ::TerminateProcess() , you would be unable to do anything because the application has deadlocked or similar.
"It's supposed to be hard, otherwise anybody could do it!" - selfquote "High speed never compensates for wrong direction!" - unknown
|
|
|
|
|
But is there is some way to remove is from the Task manager ?
I know that this solution is not perfect - but i need to know if there is way to do it.
|
|
|
|
|
Yanshof wrote: I know that this solution is not perfect
The solution is a total hack, IMO (probably most programmer's opinion).
That aside, have you tried Googling "hide application task manager"?
"Great job, team. Head back to base for debriefing and cocktails."
(Spottswoode "Team America")
|
|
|
|
|
You seem to be saying that if your process is stopped at any time other than of its choosing then it corrupts your data permanently. You need to rethink your design as you can't guarantee that the process runs indefinitely - what about power failure or some sort of OS crash?
If you need to prevent users from stopping the service, then why not install it as a service with privileges that prevent normal users from interfering with it? There are many of these on a normal PC, visible to the user whilst untouchable.
|
|
|
|
|
Chris Losinger wrote: what's the name of this application? i need to be sure i never install it
Well said!
|
|
|
|
|
Hai,
can anyone let me know why this error is coming....
Code:
pHandle=PCM_Strm_Open(test_event_callback,&test_param);
Error: C3028E: <argument 1="" to="" 'pcm_strm_open'="">: implicit cast of pointer to non-equal pointer
Error: C3028E: '=': implicit cast of pointer to non-equal pointer
Thanks in advance
Harshadha
|
|
|
|
|
harshadha wrote: pHandle=PCM_Strm_Open(test_event_callback,&test_param);
What is pHandle ?
What is test_event_callback ?
What is test_param ?
What is PCM_Strm_Open ?
What is it returning ?
What is it accepting ?
|
|
|
|
|
PCM_Strm_Open(test_event_callback,&test_param);
is the above function is uesedefined one.
VIBIN
"Fool's run away,where angle's fear to tread"
|
|
|
|
|
Is this with a Microsoft compiler?
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
Hai,
can anyone let me know why this error is coming....
Thanks in advance
Harshadha
|
|
|
|
|
hi,
I have one VC++ 6.0 dll I wnat to use it in VC++.net
can any one tell me how can I?
I am able to add it in reference in vc++.net project not able to register and I don,t have .h or .lib file just .dll file is there.
Thanks in advance.
Rushiraj
|
|
|
|
|
Is that a regular win32 dll?
|
|
|
|
|
|
If yes, then do you have the prototypes of functions exposed from that dll? Declare a prototype and use LoadLibrary to load the DLL.
|
|
|
|
|
Hello,
When I try to run the following program on any of the OS, except 64-bit windows versions, I don't have any problem, but if I try to run the program on 64-bit system, I don't call fails with error no. 3.
My specific requirement is to get the contents of the following directory
under Windows 64 - XP it is= "C:\windows\system32\config". I face problem only when accessing this directory, I could access all the other directories.
I tried this using Visual Studio 2005.
Following are the code lines
WIN32_FIND_DATAW pTempFind;
mbstowcs(szTemp, "C:\\WINDOWS\\system32\\config\\*", 256);
hFile = FindFirstFileW(szTemp, &pTempFind);
Can someone pls. tell me what could be the reason for this? any solution is highly appreciated.
Regards,
Adi
|
|
|
|
|
Do you have appropriate permission for that folder?
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
Yes.
But the problem is that, this happens only on 64-bit system. I tried this with administrative login also, but then also it fails.
If I write the VB.NET applications, i.e. using the Open Dialog, then it shows me this folder.
So what could be the problem?
Regards,
Adi
|
|
|
|
|
If FindFirstFile() is failing and GetLastError() is returning 3, that equates to ERROR_PATH_NOT_FOUND .
AdiBhapse wrote: So what could be the problem?
What does mbstowcs() return?
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
How do I make use of this structure? Just get the current time and compare to times.Please help.
Please note:I dont want any other time formats.
286? WOWW!
|
|
|
|
|
Actually it's a long interger and its usage is pretty strightforward, see MSDN for time function.
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.
|
|
|
|
|
Actually ... with VS 2005 time_t is either __int64 or long integer depending on whether _USE_32BIT_TIME_T is defined or not.
...cmk
Save the whales - collect the whole set
|
|
|
|
|
cmk wrote: Actually ... with VS 2005 time_t is either __int64 or long integer depending on whether _USE_32BIT_TIME_T is defined or not
it's pure academia. The difference doesn't matter in the current context
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.
|
|
|
|
|
Hi,
Could anybody tell me about typecasting.How to convert a simple int to a CString.I want to return a integer value through the messagebox.
Thank you
Siddharth
|
|
|
|
|
If just displaying an integer value in message box is your problem, use CString::Format for that.
CString str;
int i = 68;
str.Format("%d is an integer and %c is a character", i, i);
AfxMessageBox(str);
|
|
|
|