|
Actually i want to get information of architecture of remote machine.
then based on it's architecture i.e. (32bit or 64bit) , I will deploy
my application which is specific for specific machine(32bit or 64bit).
|
|
|
|
|
Again, the question of "what do you mean by remote host"?
If you are writing your own client server, then just make the protocol so that you don;t care.
If it is some webserver thingy, where you want to provide an appropriate executable, isn;t the OS info in the html header?
Iain.
|
|
|
|
|
I m using multimedia timer in my application but problem is ..application do not reponde to any click event /slow to respond .wht should i do?????
thanks
|
|
|
|
|
anilaabc wrote: wht should i do?????
At least provide much more informations because with the info you gave, it is almost impossible to help you.
Are you doing heavy processing in the main thread ? Remember that if your main thread is busy, it won't be able to process messages, which means that your UI will not respond.
|
|
|
|
|
i m doing some calculations in a separate thread after a particalar interval .for this i m using a flag that is set to true in timeproc.I want that UI must repond quickly .I m not doing anything in main thread.
Is it enough info ?
Thanks in advance
|
|
|
|
|
anilaabc wrote: Is it enough info ?
I'm afraid not
anilaabc wrote: i m doing some calculations in a separate thread after a particalar interval .for this i m using a flag that is set to true in timeproc.
Ok, so when are you starting your processing ? When the user clicks on a button ? If yes, can you post the code for the button click handler (please use the "code block" tag to format your code).
Could you describe exactly what happens ? User interaction, when does the UI becomes unresponsive, .. Is the UI completely frozen for a while or just slow ?
I think you will need to post relevant part of your code for us to be able to help.
|
|
|
|
|
run is set to true.
on click i set run=false; to stop thread.
when i click run is not set to true and keep on alive to thread
void method()
{
while(run)
{
if(Draw)
{
//doing some calculations here
}
Draw=0;
greating_time_id=timeSetEvent(100, 0, GreatingResume_t, (DWORD)this,TIME_ONESHOT);
}
}
}//while end
}//end method
void CALLBACK GreatingResume_t(UINT uID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2)
{
if(uID==greating_time_id)
{
Draw=1;
timeKillEvent(greating_time_id);
}
}
|
|
|
|
|
Just for a test, run "Task Manager" and check "Performance", does your CPU seem overloaded (100% CPU usage)? If so, check "Processes" and see if your process is the one consuming all the CPU time, if so, you have there a run away thread probably. Try putting a Sleep(1) (or maybe Sleep(0)?) in your thread (inside that while-loop) and check if anything changes.
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
modified on Thursday, December 4, 2008 7:08 AM
|
|
|
|
|
Maybe your code is doing something else: posting messages from from control to one other or drawing itself again and again. Make debug out or disable main portions of your code.
Greetings from Germany
|
|
|
|
|
|
Hi All
I have a problem to show dialog in Taskbar.I have a dialog A. And i also added two dialog B and C. Now i am facing problem to show dialog B in taskbar.Plz help me.
Thanks in advance
|
|
|
|
|
Try to set WS_EX_APPWINDOW style, provided the dialog is not a child window.
|
|
|
|
|
Am not sure what kind of problem you are facing there but try adding the WS_EX_APPWINDOW style to your dialogs...
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
|
|
|
|
|
Hi,
I need to exceute an Exe when the postgres service starts . Is it possible to configure in registry or is there any other means to launch an exe when service starts.
Thanks
|
|
|
|
|
There's one simple and dirty way to achieve it.
It's to make a postgress service wrapper program and replace the original service with new one. Then you can detect the time when the service started.
|
|
|
|
|
match the prameter (LPCTSTR lpBinaryPathName) of API CreateService()
You know some birds are not meant to be caged, their feathers are just too bright.
|
|
|
|
|
Posting this again ..... please help
**********************************************
I have created Property Sheet and Pages using Win32 SDK. Now I need to modify a edit box on a Page. The piece of code is
HWND hPropSheet = GetActiveWindow();
HWND hPropPage0=PropSheet_GetCurrentPageHwnd(hPropSheet );
SetDlgItemText(hPropPage0,IDC_EDIT1,(LPCWSTR)szBuffer);
Is this correct? I am not able to get the Handle to window to the Property Sheet ..... Please help
|
|
|
|
|
koumodaki wrote: Is this correct?
Shouldn't you be answering that question? Does the code compile? Does it produce the expected results?
koumodaki wrote: I am not able to get the Handle to window to the Property Sheet
So if GetActiveWindow() is not returning the correct handle, why bother calling PropSheet_GetCurrentPageHwnd() and SetDlgItemText() ?
"Love people and use things, not love things and use people." - Unknown
"The brick walls are there for a reason...to stop the people who don't want it badly enough." - Randy Pausch
|
|
|
|
|
Hello !
I have some hexadecimal data, say
0x0A, 0x1F, 0x33 ...
Now what is the easiest way to caculate 2's complement of the above?
i know the procedure:
add all the numbers in binary fomat, take ones complement , add 1 to it.
but how to add them in binary format ??
Thanks !
|
|
|
|
|
If you want to calculate it in 32bit, you just use shift and or operator.
BYTE b[] = { 0x0a, 0x1f, 0x33, ... };
DWORD value = (b[0] << 24) | (b[1] << 16) | (b[2] << 8) | (b[3])
or
DWORD value = 0;
for(int i=0; i<4; ++i)
{
value <<= 8;
value |= b[i];
}
|
|
|
|
|
kapardhi wrote: Now what is the easiest way to caculate 2's complement of the above?
kapardhi wrote: add all the numbers in binary fomat
I don't understand. You want to add all the numbers and then calculate 2's complement ? Or you want to calculate the 2's complement of each number ?
kapardhi wrote: but how to add them in binary format ??
There's no such thing as a binary number. A number is a number and is independant of the way you represent it. If you have integers, then those are integers. You can display them to the user in decimal format, binary format, hexa format, ... but the integer values are still the same.
|
|
|
|
|
If I got you then you need the two's complement of the sum (without considering overwerflow) of the numbers, i.e. some sort of checksum. Hence (supposing, for instance, a 16-bit sum):
unsigned short chks = 0;
unsigned char data[] = { 0x0A, 0x1F, 0x33};
for (int i = 0; i < sizeof(data) / sizeof(data[0]); i++)
{
chks += data[i];
}
chks = ~chks;
chks++;
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.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
The standard C operators work in 'binary' format. Also, unary minus is a 2's complement..so:
<code><pre>int nums[3] = {0x0A, 0x1F, 0x33};
int sum = 0;
for(int i=0;i<3;++i)
{
sum += nums[i];
}
int twos_complemented_sum = -sum;
</pre></code>
|
|
|
|
|
Stuart Dootson wrote: int twos_complemented_sum = -sum;
I don't think this is quite right. You first have to negate each bit of sum and then add 1.
"Love people and use things, not love things and use people." - Unknown
"The brick walls are there for a reason...to stop the people who don't want it badly enough." - Randy Pausch
|
|
|
|
|
Read this[^]. On an x86 architecture (and pretty much all other processors), negative numbers are represented using *2s complement*. Which means that the 2s complement of a number can be determined by applying the negation operator.
|
|
|
|