|
There are many articles about IPC on CodeProject.
Don't try it, just do it!
|
|
|
|
|
Hi, I 'd like to ask an MFC related question. I have an SDI application and I want to show a modal dialog just when my main frame appears on screen. Which event of my CMainFrm should I register for that? I've tried ON_WM_CREATE and ON_WM_SHOWWINDOW but the first is called before any drawing has been done and the latter doesn't get invoked at all! Could you help me plz?
Themis
|
|
|
|
|
Hi,
Create a timer in Mainframe with 1 as timer interval. Add handler to WM_TIMER message and domodal the dialog in it. Dont forger to kill the Timer before u show the dialog.
Bye,
Cool Ju
|
|
|
|
|
When exactly do you want your dialog to appear? Just before or just after the mainframe appears on screen?
Behind every great black man...
... is the police. - Conspiracy brother
Blog[^]
|
|
|
|
|
Just after the mainframe appears.
To Cool Jul: I don't think the timer is a good idea, because the initilization in a slow machine may take more time than in mine pc. Thanks though!
Themis
|
|
|
|
|
Here's a thought:
1) Create a user defined message, that you can post to display the dialog.
2) In the main frames OnSetFocus(), just post the message (post not send).
If there is already a command that allows the user to display the dialog then you can skip step 1 and just post that messge.
INTP
"The more help VB provides VB programmers, the more miserable your life as a C++ programmer becomes."
Andrew W. Troelsen
|
|
|
|
|
Hi,
I am using DDEML. What if I want my DDEML Server application to receive some data from a Client, process it and send back the result to client.
What I am doing so far is:
I send some data from Client to Server through XTYP_POKE transaction.
In Server's DDECallBack function, I store this data in some static variables.
Then I send an XTYP_REQUEST transaction from Client to Server, to process the data sent in XTYP_POKE transaction.
The Server application, on receiving the XTYP_REQUEST transaction, process the data received in XTYP_POKE transaction and returns the handle of result.
What I fear here is that what if the Server receives another XTYP_POKE transaction in between above XTYP_POKE and XTY_REQUEST transactions.
Means, When a client sends "A" data to Server through XTYP_POKE, an another Client sends "B" data to Server before Server could get and process the XTYP_REQUEST from first Client, the Server may generate and return wrong data.
Is this right? If yes, what I could do to prevent this? Is there a way where Client could send and receive data through XTYP_REQUEST itself?
Please help. Quick replies are appriciated.
Thanks In Advance,
Vipin.
|
|
|
|
|
my app create a process(by CreateProcess ) and hang up itself unitl child process was exit,but child process may create a other process....
I love programming
|
|
|
|
|
yqzq wrote:
but child process may create a other process....
can u be more accurate what do u mean?
a child can create other process which can create other process which can create other process which can create other process which can create other process...
Right?
/\|-||\/|/\|)
|
|
|
|
|
sorry for my bad english :P
in my 'AppA' ,i want launch another 'AppB' to do some thing, and i want get the notify when the 'AppB' and all of process which launch by 'AppB' or 'AppB'`s child process was terminate
I love programming
|
|
|
|
|
if i understand u right. U need to take a look on the following function:
CWnd::Onclose or CWnd::OnDestroy
/\|-||\/|/\|)
|
|
|
|
|
See this search.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
HI All
I want to know that how to use WMI Classes using VC++,I want to extract some system information from there, but I do not know how to use that,
Better if please do provide some sample code.
Thanks & Regards.
Edit/Delete Message
|
|
|
|
|
Try Using WMI in VisualC[^]
Marc Soleda.
... she said you are the perfect stranger she said baby let's keep it like this... Tunnel of Love, Dire Straits.
|
|
|
|
|
I downloaded the mentioned project and tried to run the project but could not succeed.
Although I included all needed .lib files and header files yet I am getting two errors
1)error C2065: 'CoInitializeSecurity' : undeclared identifier
2)error C2065: 'EOAC_NONE' : undeclared identifier
However the function CoInitializeSecurity( ) is declared in "objbase.h" and I have included this file too.
So Please tell me how to remove this problem.
Please reply .
Thanks & Regards.
|
|
|
|
|
See here.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
Hi all,
I have dll(mfc) which displays dialog with list control with some file [with path] ( .doc,.msg, ... )
When user double clicks my code opens file in maximize mode useing ShellExecuteEx. It returns me HANDLE hProcess. All works fine.
But some file like msg file are not opening in MAXIMIZE state. After looking deep into that i conclude that it is handled by MS Outlook.( means if last msg file is opend in normal window (not maximized) then my code will not open msg file maximized!!.)
So what i want is HWND from hProcess. so that i can send message to that window for maximize!!!
I have searched a lot and also applied a code. but i think my dll handles this so i m not getting required results.
//////////////////////////////////// hProcess is returned by ShellExecuteEx
WaitForInputIdle(hProcess,1000);
FILETIME lpCreationTime, lpCreationTime2;
FILETIME d1,d2,d3;
DWORD dwProcessId;
HANDLE hProc;
GetProcessTimes( hProcess, &lpCreationTime, &d1, &d2, &d3 );
HWND hTemp = ::FindWindow(NULL,NULL);
while ( hTemp != NULL )
{
if ( ::GetParent(hTemp) == NULL )
{
::GetWindowThreadProcessId(hTemp,&dwProcessId);
hProc = OpenProcess(PROCESS_QUERY_INFORMATION, 0, dwProcessId);
GetProcessTimes( hProc, &lpCreationTime2, &d1, &d2, &d3 );
CloseHandle(hProc);
if ( lpCreationTime.dwHighDateTime == lpCreationTime2.dwHighDateTime &&
lpCreationTime.dwLowDateTime == lpCreationTime2.dwLowDateTime )
{
//("Sending Message"); // Never came here
::PostMessage(hTemp,WM_SYSCOMMAND,SC_MAXIMIZE,0);
break;
}
}
hTemp = ::GetWindow(hTemp, GW_HWNDNEXT) ;
//"looping");
}
// i have also tried with EnumWindows and its proc.
Can anyone help me in getting solved my problem.
Thank in advance.
Regards
Jetli
Constant Thing In World Is Change.
|
|
|
|
|
if you have several projects in a solution that all compile to individual EXE's what do you do with version numbers?... keep them all in line with each other or have each EXE with its own independent version number?
|
|
|
|
|
I'd say that's up to the conscience of the individual church-goer. But it makes sense to me to have all different ones - why would the version number change on one part of the project, just because you updated another.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
Two version numbers are within each module : File Version and Product Version.
We tend to let the File Version float depending upon the particular module.
The product versions typically are all the same for all modules of a particular product release.
This way, you can look at a DLL, for eexample, and know which version of the DLL you have and also which version of the product it was intended to work with.
|
|
|
|
|
thats a very good idea, thanks! I have always just automatically given them both the same version numbers, without actually thinking about why there are two different fields.
|
|
|
|
|
Can any body tell me how can i get client area dimensions(width & height) in millimeters?
|
|
|
|
|
mm relative to what ? The screen you're running on ? To do that, you need to know the screen resolution ( easy ) AND the screen size ( not so easy ).
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
Two quick queries:
1. I have programmed a little network performance monitor. It monitors a set of remote hosts over a network. It gets the CPU statistics and all gets collected at one of the remote hosts (say primary remote host, holding procValues[n][4], 4 CPU floating numbers per n remote hosts).
Now, I want to transfer this data set (double procValues[n][4]) over a TCP or UDP network connection to a local host for graphing and storing in a database tool.
I've read Beej's Networking Guide http://www.ecst.csuchico.edu/~beej/guide/net/ and going to follow his code.
However I don't know how am going to send a double[n][4] over the network efficiently without hogging the network. Is the most efficient way just converting double[n][4] into a string?
Am using a sleep(1) function to set the frequency of 1 second to read the cpu statistics.
If a sending function takes more than the frequency of "cpu statistic collecting" then am going to get lots of missed out data... no wait it wouldn't be perfectly synchronized to the exact second, it will be lagged behind. Maybe thread the network transfer so that the frequency of "cpu collecting" remains precisely every second?
What are your views?
2. How does one create/use threads in C, AND C++? Do threads differ in usage in C and C++?
|
|
|
|
|
kevingpo wrote:
Am using a sleep(1) function to set the frequency of 1 second to read the cpu statistics.
Sleep(1) = 1 ms wait time. Quite difficult/impossible to reach in a Win9i/2000/XP environment without any other kernel-patch.
kevingpo wrote:
Is the most efficient way just converting double[n][4] into a string?
From my point of view it's the way, you have to pass a parameter telling the type of data you are sending or preassumed that all the data are from a certain type.
kevingpo wrote:
Maybe thread the network transfer so that the frequency of "cpu collecting" remains precisely every second?
You'll have to separate in different threads the data treatment from the data transfer and try different thread priorities to accomplish it.
kevingpo wrote:
2. How does one create/use threads in C, AND C++? Do threads differ in usage in C and C++?
Depends on the implementation of C/C++ you use, but:
In C++: HANDLE CreateThread(LPSECURITY_ATTRIBUTES secAttr,
SIZE_T stackSize,
LPTHREAD_START_ROUTINE threadFunc,
LPVOID param,
DWORD flags,
LPDWORD threadID);
In C using libpthread:
int pthread_create(pthread\_t *tid, const pthread\_attr\_t *tattr,
void*(*start_routine)(void *), void *arg);
Marc Soleda.
... she said you are the perfect stranger she said baby let's keep it like this... Tunnel of Love, Dire Straits.
|
|
|
|