|
It's a Keylogger and cannot capture all the keys on the target machine. If I run in in XP compatibility mode it is able to get all key strokes but every time the application starts asks for permission to make changes to the computer.
In normal mode (not XP compatibility) starts with no errors, creates the log file and starts flushing to it but not all of the data it is supposed to.
|
|
|
|
|
Oh! Yeah, that's probably not a dependency problem!
It doesn't sound so much as a deployment issue as, perhaps, a UAC/permissions issue. I think for anyone to help you with this, you're going to have to provide more detailed information as to the specific nature of the failure. I've never tried to develop a key logger, but I imagine someone here has.
[edit]
Is there a difference in the user account type you're working with on the target machine? For instance, are you working with an admin account on your dev machine, but with a standard user account on the target machine? Someting like that may contribute to your trouble, if it is indeed UAC/permissions related.
[/edit]L u n a t i c F r i n g e
modified on Friday, March 12, 2010 3:36 PM
|
|
|
|
|
Thanks for the help.
When I'm home alone again with the target PC I'll check if it has the same dll-s as mine.
|
|
|
|
|
Hi Guru,
I am looking for good subroutines for interpolation a tabulate function (y[i], x[i])-> y=f(x);
Also I need a subroutine for interpolation: (x[i],y[i],z[i]) -> z = F (x,y)
Thank for share your knowledge and work.
|
|
|
|
|
|
Hello everyone,
I'm syncing contacts via SOAP to a Microsoft Exchange Server 2007.
Now the Problem is: The Data transmitted is correct (and correctly displayed in Outlook Web Access), but when I connect Outlook (only tested 2007) it doesn't show a name a display name in the address book list (only email address etc.). So when I select the contact to send him/her a mail, only a ; is put inside the address field, which is bad... But when I open the contact details, everything is there. And if I change something (e.g. add a dot after the name or so) and save, then the name and display name are displayed correctly in the address book.
This is very weird..
I'd appreciate any hints on what could cause that issue.Don't try it, just do it!
|
|
|
|
|
Alexander <su wrote:<="" div="">This is very weird..
Yes, it certainly has nothing to do with C++.txtspeak is the realm of 9 year old children, not developers. Christian Graus
|
|
|
|
|
Hi, I am working on a project involving some 2D coordinates. When it comes to allocating a number of 2D coordinates, I code like this:
float (*coords)[2] = new float[num][2]; // num: Number of 2D coordinates, variable of type int
However, I do not know how to allocate an array of 2D coordinates? That is,
float (**coords)[2]; // I want to have it as [row][col][2], row & col: variable of type int
Am I declaring it correct? I know I can use float*** with the last layer's dimension as 2, but I just want to know if anyone is using this method. Thanks.modified on Sunday, March 14, 2010 1:57 AM
|
|
|
|
|
It could be implemented as following too :
class CFPoint
{
float m_fX;
float m_fY;
public:
...
};
{
CFPoints* pcFPoints = new CFPoint[num];
} virtual void BeHappy() = 0;
|
|
|
|
|
there are many ways to do something like this.
the cleanest is to use a struct to hold your coordinate pairs:
struct floatPoint
{
float x;
float y;
};
floatPair * coords = new floatPair[num];
...
delete [] floatPair;
the safest is to use an STL container to hold the points:
#include < vector >
struct floatPoint
{
float x;
float y;
};
std::vector < floatPair > coords(num);
allocating a single buffer:
float *pBuffer = new [num * 2];
int x = 3;
int y = 2;
float fxy = pBuffer[y * 2 + x];
...
delete [] pBuffer;
etc.
|
|
|
|
|
Thanks for your reply, Eugen and Chris.
The situation is that I need to put the data inside the functions provided by a library. The prototypes are like this:
<br />
int Output1(float out1[][2]);<br />
int Output2(float out1[][2], float out2[][2]);<br />
int Output3(float out1[][2], float out2[][2], float out3[][2]);<br />
According to different cases, I need to call one of these functions in each process. I think it implies that the row and column are varying. How I want to call them is like this:
<br />
float (**coords)[2];<br />
<br />
Output1(coords[0]);
Output2(coords[0], coords[1]);
I have searched on the web and found something like this (what I planned to do if (**)[2] does not work):
<br />
float ***coords;<br />
<br />
Output1((float(*)[2])coords[0]);
Output2((float(*)[2])coords[0], (float(*)[2])coords[1]);
|
|
|
|
|
In all of the above you do not seem to be allocating any space for your arrays. The first requirement is to know how many rows are required by the functions OutputX. For example you have the prototype:
int Output1(float out1[][2]);
which means that Output1 takes the address of a two-dimensional array, with some number of rows each of two columns. Assuming it requires 20 rows you could allocate the array thus:
float out1[20][2];
int i = Output1(out1);
However, without knowing more details of the above functions it is difficult to be more specific.txtspeak is the realm of 9 year old children, not developers. Christian Graus
|
|
|
|
|
Maybe my previous description is not specific enough. Hope the code below explain more clearly.
int row0 = 0, col0 = 0;
float ***coords;
int Output1(out1[10][2]);
int Output2(out1[20][2], out2[20][2]);
int Output3(out1[30][2], out2[30][2], out3[30][2]);
int Output4(out1[40][2], out2[40][2], out3[40][2], out4[40][2]);
void Function(const int nMode)
{
int row, col;
switch (nMode)
{
case 0: row = 1; col = 10; break;
case 1: row = 2; col = 20; break;
case 2: row = 3; col = 30; break;
case 3: row = 4; col = 40; break;
}
if (row0 != row || col0 != col)
{
coords = new float**[row];
for (int i = 0; i < row; i++) {
coords[i] = new float*[col];
for (int j = 0; j < col; j++)
coords[i][j] = new float[2]; }
row0 = row; col0 = col;
}
switch (nMode)
{
case 0: Output1(coords[0]); break;
case 1: Output2(coords[0], coords[1]); break;
case 2: Output3(coords[0], coords[1], coords[2]); break;
case 3: Output4(coords[0], coords[1], coords[2], coords[3]); break;
}
}
So in this way, I do not need to declare a bunch of static arrays like:
float out1[10][2];
float out2[2][20][2];
float out3[3][30][2];
float out4[4][40][2];
And some of them may even not to be used throughout the process (if nMode sticks to a certain choice by user). Thus I think dynamic allocation will be more efficient. (Although the allocation and deallocation may cost some effort.)
Going back to original subject, my question is "Is it possible that I can use float (**)[2] instead of float*** , since the dimension of the last layer is always 2?"
Thanks.
|
|
|
|
|
I think my previous suggestion was maybe closer to what you want. You seem to be introducing complexity where it is not needed, and I think your allocation of the array contents is incorrect. I must confess that I am having difficulty following the above logic, and still do not quite understand what you are trying to achieve. txtspeak is the realm of 9 year old children, not developers. Christian Graus
|
|
|
|
|
Nevermind. I actually implemented the code above in my project and everything seems working, without memory leak, crash or data problem. I will go deeper to inspect too. Thanks for your reply.
|
|
|
|
|
|
|
Sorry, correct post should be here[^]
|
|
|
|
|
Hi,
I get this error after I imported an old VC6 explorer-extension dll project to VC9. I needed to do it because I have to compile the extension for 64-bit. I didn't get this error in VC6. Anyone knows what that means and how to fix it?There is sufficient light for those who desire to see, and there is sufficient darkness for those of a contrary disposition.
Blaise Pascal
|
|
|
|
|
Please check your DEF file :
; KOYOCE.def : Declares the module parameters.
LIBRARY "KOYO32.DLL"
EXPORTS
; DllCanUnloadNow @1 PRIVATE
; DllGetClassObject @2 PRIVATE
; DllRegisterServer @3 PRIVATE
; DllUnregisterServer @4 PRIVATE
; DllzenOnGetClassCLSID @5 PRIVATE
DllCanUnloadNow PRIVATE
DllGetClassObject PRIVATE
DllRegisterServer PRIVATE
DllUnregisterServer PRIVATE
DllzenOnGetClassCLSID PRIVATE virtual void BeHappy() = 0;
|
|
|
|
|
Thanks, that fixed it. There is sufficient light for those who desire to see, and there is sufficient darkness for those of a contrary disposition.
Blaise Pascal
|
|
|
|
|
Hi,
I made an installer program fiew years ago, that use ShellExecute and spawn functions. It worked for years.
Today, thoses functions don't work anymore on Windows 7, returning an access denied code (-5).
I tried with ShellExecute, ShellExecuteEx, spawn, ShellExecute 'runas' ... nothing.
What is strange is that the same code works when launching NotePad.exe or Regedit.exe, but not my executables !
What should I do ? Do I have to do something whith my launched executables ? Something whith the manifest or something ?
Thanks for your Help,
Nicolas.
|
|
|
|
|
Do your executables require administrative privileges? The access denied error suggests that there is some problem with that. There is sufficient light for those who desire to see, and there is sufficient darkness for those of a contrary disposition.
Blaise Pascal
|
|
|
|
|
Well, I never set any privileges settings to my executables : they are just standard MFC apps (orinaly made using VC6 and now with VC 2008).
How can I know if my exe requires administrative privileges ? How do I set these (from Windows or in the code) ???
Even if I give all access to the files from windows shell, it doesn't work.modified on Friday, March 12, 2010 10:51 AM
|
|
|
|
|
see if this thread[^] helps you. There is sufficient light for those who desire to see, and there is sufficient darkness for those of a contrary disposition.
Blaise Pascal
|
|
|
|