By experience, I started with Visual Basic 5, in 1999. Even though I didn't use Windows APIs (Application Programming Interface) I liked the easiness that coding in VB5 was. But you can't go much further without using Windows API, that's what spy programming is all about. With the APIs you will be able to code virtually anything (no pun intended). I found later that VB COULD call APIs, then I changed to VB 6. I managed to make my first "internet" programs, like Ghostvoice. It was connecting to an IP, sending and receiving data! But I was using 2 API calls, and the rest, I relied in VB OCX controls, Winsock + direct speech. Yuck, if the remote computer doesn't have the OCX or even, the VB runtimes, your program will CHOKE, by the means, it won't even start.
So I saw that VB wasn't really my thing, and fastly moved to Delphi 5, and since then I settled forever. Delphi makes it perfect for malware coding, since you don't need any external requirements, only it being Windows OS. It's basically APIs all over, you won't be doing anything else, apart from the VCL, that is a wrapper for visual Windows API, like CreateWindow(), SetForegroundWindow(), ShowWindow(), CallWndProc(), etc. Delphi is pretty easy to learn and it's very intuitive.
It's almost like talking to the code, where you want a piece of code that does something, you do:
procedure DoMyStuff(var MyStuff);
begin
ProcessStuff(MyStuff);
end;
As you can see, there are BEGIN and END blocks, code that doesn't return a value are "PROCEDURE"'s and code that return a value are "FUNCTION"'s. So, before anybody ask, yes I would for sure recomend you starting with Delphi. Then after you grasp your handles with Delphi (pun intended) you can move to C++, and who knows, an ASM compiler such as FASM or NASM (my favorite).
By now, I would not recomend .NET (any 'sharp' language), since it also relies on a framework, that needs to be pre-installed on the computer.
Get coding, you can even try a free IDE called Lazarus, that is for Object Pascal, at
Author: caesar2k
www.lazarus.freepascal.org