|
Hi,
While running my application how can I keep track on any key event so that key logger should not get to know about pressed key?
|
|
|
|
|
I suppose your application cannot prevent a keyboard hook to do its job, if that was the question.
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]
|
|
|
|
|
|
It really depends on your application. You may for instance, avoid keystrokes providing a virtual keyboard (graphical representation of keys, mouse activated).
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]
|
|
|
|
|
If you want to keep track of the key events, then i suppose, your application wants to know whether any one is hooking the keyboard events.
Then surely it may be using SetWindowHookEx([^]) to achieve the goal of a key logger.
To find the Key logger, you can use the technique of API hooking to monitor any process doing something with a specified API.
Hook that API(API Hooking (LoadLibrary)[^]). I believe if you hook SetWindowHookEx API then you can monitor whether some one there for KeyBoard hooking.
A little bit complex, All the best, have a try Величие не Бога может быть недооценена.
|
|
|
|
|
I could user ip helper api (NotifyAddrChange and NotifyRouteChange) to get the notification when the user changes the IP address,subnet mask ,
but when the dns server address( main and the other) is modified , I could not get notification.
Is there any method ?
Thanks!
|
|
|
|
|
the three points ( center, start of arc ,end of arc) and the angle are known to me. I need to draw whenever these values are given. I saw CPie but for that you need to know the rect.
|
|
|
|
|
I would imagine that you have enough information to calculate the bounding rectangle. Please do not read this signature.
|
|
|
|
|
As mentioned above, you got all the information needed. Now its time for mathematical calculation.
Now i cannot understand, what's the hurdle in front of you to do that calculation Величие не Бога может быть недооценена.
|
|
|
|
|
Please observe this formula
to find the distance between two points[^]
Now you could find the radius (R = d) of your circle:
P1(x1, y1) - center point,
P2(x2, y2) - start point
Then you could determinate the rectangle (rc) :
rc.left = x1 - R;
rc.top = y1 - R;
rc.right = x1 + R;
rc.bottom = y1 + R;virtual void BeHappy() = 0;
|
|
|
|
|
thank you . My idea of bounding rectangle was wrong. Anywayz hankz for the very precise answer.
|
|
|
|
|
Arc[^]
AngleArc[^]
ArcTo[^]
Enough for you?
Ellipse and Arcs in GDI+[^]
I'd also look at GraphicsPath in GDI+ before. That way, you can "draw", and then break that into it's points.
I hope that came close to an answer for you.
Iain.I have now moved to Sweden for love (awwww).
|
|
|
|
|
Hi,
I have an MFC app that is dependant on an external windows service. The need to restart that service occasionally arises.
I do this using some boilerplate code, heavily derivative of that appearing in an article on MSDN. When I run the application on Vista as a non-administrator, a call to OpenSCManager() returns NULL. I must run the application as an administrator for the process to succeed.
Can I make a UAC dialog automatically appear on Vista/7 in the event of needing to access administrative functions like this? I have similar problems in the same application when calling code that uses boost.asio to ping a remote server.
I'm not sure if it's relevant, but here is my application manifest security entry:
<!-- Identify the application security requirements. -->
<ms_asmv2:trustInfo xmlns:ms_asmv2="urn:schemas-microsoft-
com:asm.v2">
<ms_asmv2:security>
<ms_asmv2:requestedPrivileges>
<ms_asmv2:requestedExecutionLevel level="highestAvailable">
</ms_asmv2:requestedExecutionLevel>
</ms_asmv2:requestedPrivileges>
</ms_asmv2:security>
</ms_asmv2:trustInfo>
Thanks a lot,
Sternocera
|
|
|
|
|
This one might help
Sternocera wrote: ms_asmv2:requestedExecutionLevel level="highestAvailable"
change to
ms_asmv2:requestedExecutionLevel level="highestAvailable" uiAccess="true"
|
|
|
|
|
For that, you must set UAC options for your projects.
linker option in the Visual Studio development environment must be changed.
->Open the project's Property Pages dialog box.
->Expand the Configuration Properties node.
->Expand the Linker node.
->Select the Manifest File property page.
Modify the
1.Enable User Account Control (UAC)-Yes
2.UAC Execution Level-highestAvailable
3.UAC Bypass UI Protection properties-Yes
BIJU
|
|
|
|
|
Hi,
Doing so doesn't make any discernible difference,
Regards,
Sterncera
|
|
|
|
|
Hello everyone,
I'm having problems with large integers that get stored in a stream and then transferred to a string variable showing up in scientific format once the string "string_first_col_intcheck1" is printed out (despite using "unsetf" options). Any ideas?
int int_value=1150000;
ostringstream oss1;
oss1.unsetf(ios::scientific);
oss1.unsetf(ios::showpoint);
oss1.unsetf(ios_base::fixed);
oss1.unsetf(ios::scientific);
oss1<<int_value;
string first_col_intcheck1;
first_col_intcheck1=oss1.str();
Result is that "first_col_intcheck1" is printed out as "1.15e+006"
modified on Friday, March 19, 2010 10:11 AM
|
|
|
|
|
The number of digits (7) must be exceeding the precision of the stream. Use the precision method to change it.
oss1.precision();
|
|
|
|
|
Thanks Gwenio!
That did the trick, I was thinking "precision" was for decimal numbers but that is "setprecision".
|
|
|
|
|
Hello all, I am getting segmentation faults when I call my deleteTree function I was wondering if someone could explain why and what I am doing wrong.
Here is the snippet I am having trouble with:
qnode *
deleteTree (qnode *root)
{
int i;
if (root == NULL)
return root;
if (root->children[i] != NULL)
{
for (i = 0; i < 4; i++)
{
deleteTree(root->children[i]);
free (root->children[i]);
root->children[i] = NULL;
root->leaf;
}
}
}
Thank you for your time,
Chimodified on Wednesday, March 17, 2010 4:14 PM
|
|
|
|
|
Did you read the second post in this forum? Narrow it down to just a small handful of lines or you'll likely receive no help."One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
Could it be because in your code
deleteTree (qnode *root){ int i; if (root == NULL) return root;
if (root->children[i] != NULL) at the time you perform the if statement, i is not initialized?Karl - WK5M
PP-ASEL-IA (N43CS)
PGP Key: 0xDB02E193
PGP Key Fingerprint: 8F06 5A2E 2735 892B 821C 871A 0411 94EA DB02 E193
|
|
|
|
|
Thank you so much! It works now, thank you!
|
|
|
|
|
Hallo,
I worked with a Windows XP / Visual Studio 2005 Development environment until a few weeks. Now I upgraded to Windows 7 / VS 2008, and after the conversion of my Project everything works fine in Windows 7.
Then I tried to run my Win7/VS2008 compiled version at Windows XP, and I get an "Unhandled exception 0xC0000005 (ACCESS_VIOLATION)" Error.
Are there some compiler Vars I have to set in my Visual Studio 2008 on Windows 7, that my Program works correctly in Windows XP? Or do I really have to set up Visual Studio 2008 in On a WinXP machine to find the error?
|
|
|
|
|
You could try to set up a remote debugger too... virtual void BeHappy() = 0;
|
|
|
|