|
Cool! Thanks a lot.. I'd probably never have figured that out myself =)
Cheers!
Marc
|
|
|
|
|
Call it serendipity. I swear I was literally doing A/R (author review) on a property pages/sheets chapter for my MFC book when I saw the question. I glanced at it and then looked at my code - no kidding, one demo is putting a prop page in a dialog! - and noticed the different technique.
I took my code out and tried the other and saw the tab and esc problem. I put mine back in and it worked. You must be living right
Cheers,
Tom Archer
Author - Inside C#, Visual C++.NET Bible
|
|
|
|
|
I have one question.Sorry, may be this could be posted multiple times.
How can i differentiate between shutdown and restart in Win32 based app.With the help of WM_QUERYENDSESSION from lparam i could differentiate between Logoff and shutdown/restart but couldnot differentiate between Shutdown and restart.Can you pls.give me your ideas.
Thanks
-surender
|
|
|
|
|
Not too long ago I came across an article on windows registry settings somewhere through google. (Sorry no link. Its been a couple (few?) weeks ago).
I remember seeing a registry setting set by windows on shutdown indicating what kind of shutdown it was performing. I may be wrong. You could use RegMon from www.sysinternals.com to watch the registry and see what this value is and then query it in your app.
Hope this helps.
|
|
|
|
|
I need somehow to get a list of NT user names. I get current user name with GetUserName but I need names of all existing profiles.
Thanks a lot.
|
|
|
|
|
I think you need to make up your mind:
Either you want to know the name of the existing "profiles", or you want a list of user names in the domain (or in case of a single machine, on the workstation). For the latter you use NetUserEnum.
If you however only want a list of the "profiles" in the "Profiles" directory, you just use FindFirstFile & co.
|
|
|
|
|
Well. I need that list that you see in "Control panel"->"Users and passwords"->"Users for this computer".
But thank you any way! I was looking for something like NetUserEnum in MSDN for a week now.
|
|
|
|
|
Hey guys
I have soem code that flushes the file buffer if a file was opened using GENERIC_WRITE and then closes the handle. The problem is these functions return an error but when i check them it says error successful any idea whats going wrong heres my code.
if(hFileHandle != NULL)
{
if(dwAccessModeSetting == GENERIC_WRITE)
{
if(FlushFileBuffers(hFileHandle) == 0)
{
AfxMessageBox("Flush File Buffer Failed"); //Debug
DWORD dwLastError = GetLastError();
ResolveError(dwLastError);
}
}
if(CloseHandle(hFileHandle) == 0)
{
AfxMessageBox("Close Handle Failed on File Access Destruct"); //Debug
DWORD dwLastError = GetLastError();
ResolveError(dwLastError);
}
}
|
|
|
|
|
Recover the error before anything else --before the call to AfxMessageBox in your case.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
I would like to show graphics at a fixed 30 fps.
The only solution I have is:
while (true) {
while (not ready) {
check the performance timer()
}
draw()
}
The problem is that this method pegs the cpu.
I would like to use one of these:
- SetTimer and handle WM_TIMER
- use WaitForSingleObject with a WaitableTimer possibly
but they have too low a resolution.
Can anyone see another solution?
Thanks,
Alex Griffing
|
|
|
|
|
Use timeGettime and draw in your idle time if the right amount of time has passed. This solution will work if your system is too slow to do 30 fps and can be set so things still move at the same speed, albiet not as smoothly, and can clamp the top speed to 30 fps.
Christian
The tragedy of cyberspace - that so much can travel so far, and yet mean so little.
And you don't spend much time with the opposite sex working day and night, unless the pizza delivery person happens to be young, cute, single and female. I can assure you, I've consumed more than a programmer's allotment of pizza, and these conditions have never aligned. - Christopher Duncan - 18/04/2002
|
|
|
|
|
Multimedia timers could be called for here. Check Nemanja Trifunovic's Timers tutorial. The minimum resolution attainable with these timers depends on the OS [and the hardware it is running on], but probably it is decent for your needs.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Who's the developer at MS that created the Find in Files GUI in VS7? That has to be one of the worse GUI's ever! The Look In dialog is overly cumbersome.
Todd Smith
|
|
|
|
|
That damn dialog where you select the folders to search is in such a pain. And then they don't even save previous search folders
Cheers,
Tom Archer
Author - Inside C#, Visual C++.NET Bible
A total abstainer is one who abstains from everything but abstention, and especially from inactivity in the af
|
|
|
|
|
NO KIDDING!!!!
That thing is total crap. Hard to use. I hate it.
Tim Smith
I know what you're thinking punk, you're thinking did he spell check this document? Well, to tell you the truth I kinda forgot myself in all this excitement. But being this here's CodeProject, the most powerful forums in the world and would blow your head clean off, you've got to ask yourself one question, Do I feel lucky? Well do ya punk?
|
|
|
|
|
Hi,
I have the below function to retrieve the applications that are running.
The only problem is that it doesnt retrieve the applciation name, but the
name on top of the window.
Is there any way I can just return the name of the application?
Instead of returning 'Inbox - Microsoft Outlook', but getting it to return
'Microsoft Outlook'
static BOOL CALLBACK AddWinsList(HWND hWnd, LPARAM lParam);
BOOL CALLBACK AddWinsList(HWND hWnd, LPARAM lParam)
{
if (!IsWindowVisible(hWnd) || GetWindow(hWnd, GW_OWNER) != NULL)
return TRUE;
TCHAR szClassName[80];
GetClassName(hWnd, szClassName, 80);
if (lstrcmpi(szClassName, _T("Progman")) == 0)
return TRUE;
char szWndText[556];
GetWindowText(hWnd, szWndText, 556);
if (strlen(szWndText) > 0) AfxMessageBox(szWndText);//Displays name
return TRUE;
}
// do callback
EnumWindows((WNDENUMPROC)AddWinsList, (LPARAM)0);
Thanks
neil
|
|
|
|
|
The name of the application isn't always guaranteed to be in the window title. Would it work better for you (what are you trying to do?) to get a list of EXE names such as outlook.exe?
Todd Smith
|
|
|
|
|
Use EnumProcesses. There is an article on how to do this in the MSDN online help. Search for Enumerating All Processes.
Cheers,
Tom Archer
Author - Inside C#, Visual C++.NET Bible
A total abstainer is one who abstains from everything but abstention, and especially from inactivity in the af
|
|
|
|
|
See this article.
/ravi
"There is always one more bug..."
http://www.ravib.com
ravib@ravib.com
|
|
|
|
|
Quick Question,
Anyone have a *good* way of blocking a UI thread until a child-process finishes executing?
Whats commonly used?
ps: This weather sucks.
|
|
|
|
|
WaitForSingleObject(hProcess, INFINITE); might be what you want.
|
|
|
|
|
If you mean completely block the UI thread, then just do a WaitForSingleObject(...,INFINITE) on the child process handle.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
If you said Pause the Thread...
If that is your question, you need to Use SuspendThread and ResumeThread functions...;)
Regards...
Carlos Antollini.
www.wanakostudios.com
Sonork ID 100.10529 cantollini
|
|
|
|
|
That worked, thanks guys...
|
|
|
|
|
Is it possible to create a CMap which maps CStrings vs. ints? that is
CMap <cstring, cstring&,="" int,="" int&=""> map;
I switched around the keys, and it works. I thought you can map just about anything against anything. Any ideas?
c:\program files\microsoft visual studio\vc98\mfc\include\afxtempl.h(129) : error C2440: 'type cast' : cannot convert from 'class CString' to 'unsigned long'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
c:\program files\microsoft visual studio\vc98\mfc\include\afxtempl.h(1324) : see reference to function template instantiation 'unsigned int __stdcall HashKey(class CString &)' being compiled
|
|
|
|