|
I have a module in VC++6.0. it enumerates all desktop items and displays each item.tested this module on Win 2000 and Win XP.
After displaying each window i want to close each launched desktop item window by doing the following:
CWnd* pWnd = FindWindow(NULL, strName);//strName is name of window launched.
if(pWnd)
{ pWnd->PostMessage(WM_CLOSE,0,0);
}
but i get the foll error:
error C2065: 'CWnd' : undeclared identifier
i tried including the foll in the stdafx.h file
#define _WIN32_WINNT 0x0500
#include <windows.h>
still i get the same error.
What do i need to include to overcome this problem?
Kindly reply at the earliest.
Sincerely
Giftsana
|
|
|
|
|
giftsana wrote: CWnd* pWnd = FindWindow(NULL, strName);//strName is name of window launched.
if(pWnd)
{ pWnd->PostMessage(WM_CLOSE,0,0);
}
HWND handleWnd = FindWindow(NULL, strName);//strName is name of window launched.
if(handleWnd )
{ pWnd->PostMessage(handleWnd ,WM_CLOSE,0,0);
}
never say die
|
|
|
|
|
is it illegal to develop and distribute gaming (lotteries) programs on the Internet?
i guess it is illegal because I can not find this kind of software on the Internet.
A special image tool for Windows C++ programmers, don't miss it!
The world unique Software Label Maker is waiting for you and me ...
A nice hyper tool for optimizing your Microsoft html-help contents.
|
|
|
|
|
|
any simple law info of Australia about gaming software in your links?
A special image tool for Windows C++ programmers, don't miss it!
The world unique Software Label Maker is waiting for you and me ...
A nice hyper tool for optimizing your Microsoft html-help contents.
|
|
|
|
|
can i both send and receive information using a single socket or do i have to use two sockets with more than 1 thread in a client server application.???
there is always a tomorrow
-- modified at 3:11 Tuesday 4th April, 2006
|
|
|
|
|
once ur sockets is connected it can send and receive
never say die
|
|
|
|
|
hey thanx for the reply.. i'm able to send a string thru CSocket::Send(LPTSTR...,len).. can i send a variable as well?
there is always a tomorrow
-- modified at 3:13 Tuesday 4th April, 2006
|
|
|
|
|
You always send a buffer therefore the function first parameter is const void* lpBuf.
the trick is to know what you are sending and be able to read it on the other side.
so if you know you need to send a variable, translate it to the buffer (using simple Format of CString for example) and on the other side read the buffer and do a simple number translation (_ttol for example)
hope this helps ya
Ask not what your application can do for you,
Ask what you can do for your application
|
|
|
|
|
hey thanks.wat u suggested to me was really useful.. it worked..
there is always a tomorrow
|
|
|
|
|
|
You ask "which module the thread belong to?". This question doesn't really make sense - A thread can "weave" through multiple modules (and in general does).
Steve
|
|
|
|
|
I didn't use your link.
I think u can numerate all processes, and enumerate all threads of every process to find the thread you request.
A special image tool for Windows C++ programmers, don't miss it!
The world unique Software Label Maker is waiting for you and me ...
A nice hyper tool for optimizing your Microsoft html-help contents.
|
|
|
|
|
Looks like it’s the symbol for the thread entry point. I had a brief look but couldn't see any easy way to get this info - It didn't seem to be in any of the well known fields of the TIB for example. You could examine the bottom of the threads stack I guess.
Steve
|
|
|
|
|
hi
I want to Send mails in my MFC application using SMTP.Can any one provide me with sample code or links?
"Every morning I go through Forbes list of 40 richest people in the world. If my name is not in there, I go to work..!!!"
|
|
|
|
|
|
|
Hi brothers
I have written one application. This will connect more than 200 machine at a time using WNetAddConnection2(). 75% of machine are connected successfully but rest of them not connected. Error message is ‘The net work path is not found’ (error no 53) . But I can connect manually . If I run the same program, the same machine which is not connected previously is connected this time. But only 75% of machines are connected. I use multithread for connection. Domain, login user and password are ok .
How can solve this problem.
|
|
|
|
|
hi,
I am trying to owner draw a CMenu item. I want to change the color of menu. I changed the background color and text color. But is there any way to change the border color?
nave
-- modified at 0:45 Tuesday 4th April, 2006
|
|
|
|
|
|
|
Hi everyone,
I am trying to develop a Dialog based application for a device communicating through RS 232 serial Port. The serial port receives the new samples of data every 100 milli seconds. I am trying to display the message in a textbox and write the data to a file. For this purpose, i created a thread for receiving data. I am using a Timer with 100 milli seconds for Updating the textbox and writing the received data to the file.
The Problem now i am facing is, when the file gets full, i am trying to display error message and stop the timer. But Timer is not getting stopped by KillTimer().Timer continues in the running state.
BOOL MyDlg::OnInitDialog()
{
....
...
ConfigureSerialPort();
AfxBeginThread(Serial, NULL,THREAD_PRIORITY_NORMAL,0,0,NULL);
return TRUE;
}
void CMyDlg::OnClickStart()
{
fp = fopen(file_name,"a");
if (NULL == fp)
{
MessageBox ("Error Writing File",NULL, MB_OK|MB_ICONSTOP);
KillTimer(m_nTimer);
}
m_nTimer = SetTimer(1, 100, NULL);
fprintf(fp,"%d\n",status);
}
void CMyDlg::OnTimer(UINT nIDEvent)
{
OnClickStart();
CDialog::OnTimer(nIDEvent);
}
UINT Serial(LPVOID pParam)
{
while(1)
{
DWORD dwBytesTransferred;
ReadFile (hPort,
inbuf,
60,
&dwBytesTransferred,
NULL);
Sleep(100);
}
return TRUE;
}
Please help me regarding this problem. I am New to MultiThreading Concepts.
Thanks.
Chetan.
Helping others satisfies you...
|
|
|
|
|
chetan210183 wrote: The Problem now i am facing is, when the file gets full, i am trying to display error message and stop the timer. But Timer is not getting stopped by KillTimer().Timer continues in the running state.
This is because you are setting the timer again in OnClickStart . Why are you doing this? You don't have to set it again and again as you are doing now.
chetan210183 wrote: void CMyDlg::OnClickStart()
{
fp = fopen(file_name,"a");
if (NULL == fp)
{
MessageBox ("Error Writing File",NULL, MB_OK|MB_ICONSTOP);
KillTimer(m_nTimer);
}
m_nTimer = SetTimer(1, 100, NULL);
fprintf(fp,"%d\n",status);
}
Look at the lines in bold. You first Kill the timer and then again you set it. So how can you expect it to stop at all.
chetan210183 wrote: void CMyDlg::OnTimer(UINT nIDEvent)
{
OnClickStart();
CDialog::OnTimer(nIDEvent);
}
Again inside the timer function you are calling OnClickStart which in turn again sets the timer.
What you should be doing is...
void CMyDlg::OnClickStart()
{
m_nTimer = SetTimer(1, 100, NULL);
}
And now inside the timer function
void CMyDlg::OnTimer(UINT nIDEvent)
{
fp = fopen(file_name,"a");
if (NULL == fp)
{
MessageBox ("Error Writing File",NULL, MB_OK|MB_ICONSTOP);
KillTimer(m_nTimer);
}
}
Note: Well this is just guess work about what you want to do. You will have to modify the above procedure based on your requirements
Nibu thomas
Software Developer
|
|
|
|
|
Thanks for the Reply.
But without a messagebox, the code excecutes properly. When messageBox is inserted it is leading to infinite loop.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/timers/timerreference/timermessages/wm_timer.asp
In the above link, they have mentioned a statement like below.
"The WM_TIMER message is a low-priority message. The GetMessage and PeekMessage functions post this message only when no other higher-priority messages are in the thread's message queue. "
So instead of Timers , can i use threads and loop the function?
I mean replacing the Timers with Threads.
Thanks.
Chetan.
Helping others satisfies you...
|
|
|
|
|
chetan210183 wrote: "The WM_TIMER message is a low-priority message. The GetMessage and PeekMessage functions post this message only when no other higher-priority messages are in the thread's message queue. "
Yeah.
chetan210183 wrote: So instead of Timers , can i use threads and loop the function?
I mean replacing the Timers with Threads.
Why not!
Nibu thomas
Software Developer
|
|
|
|