|
Isn't it GetOSVersionEx()?
"Now I guess I'll sit back and watch people misinterpret what I just said......"
Christian Graus At The Soapbox
|
|
|
|
|
enum OS_TYPE{
OS_WIN_32s,
OS_WIN_NT3,
OS_WIN_95,
OS_WIN_98,
OS_WIN_ME,
OS_WIN_NT4,
OS_WIN_2000,
OS_WIN_XP
};
unsigned int GetOSType()
{
OS_TYPE ShellType;
DWORD winVer;
OSVERSIONINFO *osvi;
winVer=GetVersion();
if(winVer<0x80000000){/*NT */
ShellType=OS_WIN_NT3;
osvi= (OSVERSIONINFO *)malloc(sizeof(OSVERSIONINFO));
if (osvi!=NULL){
memset(osvi,0,sizeof(OSVERSIONINFO));
osvi->dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
GetVersionEx(osvi);
if(osvi->dwMajorVersion==4L)ShellType=OS_WIN_NT4;
else if(osvi->dwMajorVersion==5L&&osvi->dwMinorVersion==0L)ShellType=OS_WIN_2000;
else if(osvi->dwMajorVersion==5L&&osvi->dwMinorVersion==1L)ShellType=OS_WIN_XP;
free(osvi);
}
}
else if (LOBYTE(LOWORD(winVer))<4)
ShellType=OS_WIN_32s;
else{
ShellType=OS_WIN_95;
osvi= (OSVERSIONINFO *)malloc(sizeof(OSVERSIONINFO));
if (osvi!=NULL){
memset(osvi,0,sizeof(OSVERSIONINFO));
osvi->dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
GetVersionEx(osvi);
if(osvi->dwMajorVersion==4L&&osvi->dwMinorVersion==10L)ShellType=OS_WIN_98;
else if(osvi->dwMajorVersion==4L&&osvi->dwMinorVersion==90L)ShellType=OS_WIN_ME;
free(osvi);
}
}
return ShellType;
}
//rate me or hate me
I am the mighty keeper of the book on knowledge . Contact me to get your copy .
|
|
|
|
|
Is there any way to me to start a process and then call one of its functions or pass variables over to it? So far all i can do is WinExec(...), im guessing i have to have the handle of the new process or something
|
|
|
|
|
What do you mean "call its functions" ?
Rickard Andersson@Suza Computing
C# and C++ programmer from SWEDEN!
UIN: 50302279
E-Mail: nikado@pc.nu
Speciality: I love C#, ASP.NET and C++!
|
|
|
|
|
You have several ways to do it
a. Windows messages (you have to know window handle)
b. COM
c. Sockets/pipes
d. Synchronization primitives like Event/Mutex
e. Memory mapped files
|
|
|
|
|
check out my api hooking revealed - winsock hook article ! it will show you how to inject a dll in eanother process !
then call any function
//have fun
//rate me or hate me
I am the mighty keeper of the book on knowledge . Contact me to get your copy .
|
|
|
|
|
;PHere's an interesting question...
What are the consequences of creating windows (by using either Create(..) or DoModal() in a worker thread. Since a worker thread has no message queue and AfxGetMainWnd() returns the window associated with the thread, how will it work? Should it work? What are the effects?
The reason I'm asking, is I've noticed some part of the program I'm been assigned to create windows in worker threads. I know the best way is to create a GUI thread and assign the m_pMainWnd variable to the created window. I really just want to know the effects of windows in worker threads.
Regards,
GeMe_Hendrix
|
|
|
|
|
Try AfxMessageBox("Some message")?
If it works, it is good.
===========================
My home is www.brigsoft.com
|
|
|
|
|
Yeah, thanks for that comprehensive answer to the complex subject of multithreading and message queueing that I was trying to find out about.
|
|
|
|
|
Hi all,
I have a question regarding DevStudio add-ins:
Is it possible to enable/disable, or even change, buttons in an add-in command bar? If it is - how?
Thanks,
/Henrik
|
|
|
|
|
Hello everyone
m_listkiezers is a CListCtrl.
at: DWORD dwExStyle = m_listkiezers.GetExtendedStyle();
i get the following error:
error C2039: 'SetExtendedStyle' : is not a member of 'CListCtrl'
I searched for the class members for CListCtrl and 'SetExtendedStyle' was in it but it won't accept it.
Can anyone help me?
Thanks
Jens
|
|
|
|
|
You're talking of a compilation error for the following snippet, say.
CListCtrl mylist;
DWORD dwExStyle = mylist.GetExtendedStyle();
It should compile fine. I'm confused by the mismatch between Set and Get in your question though, are you sure there isn't a typo in your code?
Debbie
|
|
|
|
|
Hi Debbie
Here's the whole function:
void CDlgM4_1::SetGridLines()
{
DWORD dwExStyle;
dwExStyle = m_listkiezers.GetExtendedStyle();
DWORD dwStyle = m_listkiezers.GetStyle();
//Stijlen wijzigen zoals je ze wilt
//dwStyle |= LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER;
//dwExStyle |= LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES;
//Nu veranderingen toepassen:
//m_listkiezers.ModifyStyle(0,dwStyle);
//m_listkiezers.SetExtendedStyle(dwExStyle);
}
m_listkiezers is the name of the control attached to the list control
i don't c the problem but it still gives me the error on that line
|
|
|
|
|
I just declared a local
CListCtrl listkiezers;
in the above code and it compiles fine on my box (VC++ 6.0)
Maybe the compiler is kicking up about a problem that is somewhere else in your code? You could try isolating it?
Debbie
|
|
|
|
|
i still use VC++5.0 maybe that's the problem
by the way, doesn't work with a local one neither
Greetz
Jens
|
|
|
|
|
I just made that var local as a quick edit to see if I could get that code fragment to compile in isolation, in a dialog box that I already had compiling ok. I was wondering if something else in your file might be causing the errors. It might be worth (if you haven't already done so) trying to get this fragment to compile on its own without any other unnecessary code. I can't reproduce VC5 easily here, I'm afraid
Debbie
|
|
|
|
|
Well, i've just tried it out with another empty project, seems like VC++5.0 doesn't seem to like CListCtrl :S
Thanks for the effort tho
|
|
|
|
|
Hi everybody !!
I need to make a Fast Fourier Transform of a signal. Does anybody knows where I can find documentation and source code that implement this (just to have examples of FFT algorithms) ??
Thanks !
|
|
|
|
|
I have both the FFT and FHT (Fast Hartley Transform) in C sources. How do I send them to you?
|
|
|
|
|
Nice !!
You can send them on cedric_moonen@hotmail.com in a ZipFile.
Thanks a lot !!
|
|
|
|
|
please joao i want this project
|
|
|
|
|
|
|
|
How do i change the wall paper programatically ??Is there any registry key for it ??I could not locate it ..Or is there any API for it .
|
|
|
|