About making a .exe load elsewhere

Ok so what I mean by this is say in C++ I want to make lets say a KeyLogger. I'm fine with all the programming to do so for recording all the strokes and outputting them where ever I need to. But my question is how do I make it not load on the startbar but inside the taskbar etc or no where at all? Just in the running processors possibly?

Thanks,
Myth.
A Windows app (as opposed to a Windows console app) without a window remains invisible.

PS: Did you know that the process list is a linked list?
So your saying if I make a window app and delete the default window it brings up. Nothing will display?
EDIT: And by that as well you mean there will be no [START][ [KeyLoggerEtc] ][ [ICONS ] 6:23am]

Also No I didn't know that helios thats very interesting actually thanks :)
Last edited on
Not quite. The main window has to be explicitly created through code by calling an API function. If you don't call this function, the app remains invisible.
I don't understand your second question.

I mentioned that because there's a way to remove a process from the process list. It's not at all practical, though. It involves writing a kernel driver.
Last edited on
In the second question - sorry I didn't realize the picture came out funny. The [KeyLoggerEtc] was meant to be a tab on the start bar.

So what I understand from what your saying is. If I make a Windows App then disable the call in the API Function - Then when I click this .exe I create it will look like nothing has ever opened, correct?

If so thank you so much and I'll get to giving it a try for what my purpose was :)

Thanks Helios.
It's not about disabling the call. It's about not making the call at all. I think VC++'s default Windows app project is like this.
And yes, that's exactly what will happen.
Well thank you so much helios - you've been a great help the past couple of months the most of my questions I ask. So I give you a big thank you :)
Sorry to be a pain but just checking.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// KeyLogger.cpp : main project file.

#include "stdafx.h"
#include "Form1.h"

using namespace KeyLogger;

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
	// Enabling Windows XP visual effects before any controls are created
	//Application::EnableVisualStyles();
	//Application::SetCompatibleTextRenderingDefault(false); 

	// Create the main window and run it
	//Application::Run(gcnew Form1());
	return 0;
}


I would take it you mean something like this? By commenting out the Application::Run();
Sorry for the other post just keeping things seperate - I'm pretty sure what I did above is wrong but i gather this is correct to what you mean so it doesn't load the form.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// KL.cpp : main project file.

#include "stdafx.h"
#include "Form1.h"

using namespace KL;

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
	// Enabling Windows XP visual effects before any controls are created
	Application::EnableVisualStyles();
	Application::SetCompatibleTextRenderingDefault(false); 

	// Create the main window and run it
	Application::Run();
	return 0;
}
closed account (z05DSL3A)
But my question is how do I make it not load on the startbar but inside the taskbar etc or no where at all? Just in the running processors possibly?


I sounds like you may want to look at developing a Windows Service[1]. There is a CLR project for Windows Service (I have not tried this) but you can also develop API versions [2]

[1] http://en.wikipedia.org/wiki/Windows_service
[2] http://msdn.microsoft.com/en-us/library/bb540476(VS.85).aspx
Hey thanks for that. This looks quite interesting - thanks I'm reading up on it now might give it a shot soon.

Thanks Grey Wolf
Topic archived. No new replies allowed.