Is there a program to enumerate windows? - windows

I'm having problems with a third-party program which is using FindWindow() to find if another process is started.
Where can I find an already-compiled program which enumerate windows (using EnumWindow()) so that I can quickly find what's going wrong ?

Have you tried Spy++?

Or if you need a free alternative, try Winspy++, Minispy or Winspector

Related

How to find out what .com file do?

I have old executable com file and I need to find out what it do.
What is the simplest way to decompile or diassemble or debug com file?
You can debug your file using the old debug command on Windows XP or lower. A good manual is provided by Kip Irvine here. Additionally, you can disassembly it using NASM with this command, but it is not guaranteed to work.
you may try
executable.com /?
If it was done by a "real" programmer, it would give you some hints.
Also try -?, -h, /h, -help, /help
I have even seen things like --help
probably you did, but to be complete: did you google the filename?
A .com file is basically a .exe file with a size limit, so unless you have the source code (in which case you likely wouldn't need our help), or how it was compiled, it's impossible to do this in modern Windows. Sorry.
By the way, I'm guessing you don't really understand what .com files do, so try this website called https://fileinfo.com. It has information on most file extensions and types, and it can tell you what programs are able to open it. I think you could find it useful

How to watch new processes that are running or terminated in Visual C++

I wonder how to watch new processes that are running or terminated. Can I do it with Windows 7 APIs? How?
I'm using Visual C++ in Windows 7 and don't want to use .Net Framework.
Whilst you can do this using polling (i.e. EnumProcesses), the best way to do it is an event driven approach. And to do that you need to use WMI. This MSDN page gives sample code.
Update Apparently you can use Event Tracing for Windows as an alternative, but I personally know nothing about that.
You may use Process32First and Process32Next from Tool Help library. This MSDN article has an example how to obtain the list of running processes.
An alternative is EnumProcesses function.

Would be possible for Compiz to work on Windows?

I obviously don't think it would work as it is. Its more like, does Windows internal architecture allows for some third party SW to integrate in between? From what I read about Compiz, I believe it creates its own window, and somehow mixes graphics from System X to its own. But it still has to catch events like EXIT button and so on.
Does Windows even allow this? Let 3rd program to scan for input of another window? And more, catching output of GUI and replace it?
Does Windows even allow this? Let 3rd
program to scan for input of another
window? And more, catching output of
GUI and replace it? Thanks.
It is certainly possible. See WindowBlinds for an example. Just note that Windows "officially" does not support this, applications like WindowBlinds use API hooking, subclassing etc. to perform their deeds.
Windows does not natively allow it - it has its own compositor framework built in called DWM that does much of the same internal functionality as Compiz. However, glitzy graphics that are systemwide are reserved for the OS to perform, sadly. As other people mention, doing this as a 3rd-party app is going to be really hacky and difficult.
API Hooking:
http://www.codeproject.com/KB/system/hooksys.aspx
Also, look at:
http://yodm-3d.en.uptodown.com/
A free 'Compiz' for Windows.

Windows demangling library

I'm looking for an open source library to do Windows executable symbol name demangling. Does such a thing exist or must I use the Microsoft libraries?
Uow, this guy seems to have nailed it.
Not a library as such, but I'd look at Wine, specifically the debugger. I'm not sure but seems like a likely place to find code for that.
I agree that DbgHelp.dll should be the way to approach this.

Good resources for writing console style applications for Windows?

For certain programs nothing beats the command line. Unfortunately, I have never seen good documentation or examples on how to write console applications that go beyond "Hello World". I'm interested in making console apps like Vim or Emacs. Well not exactly like Vim or Emacs but one that takes over the entire command prompt while it is in use and then after you exit it leaves no trace behind. I know that on Unix there is the curses library but for Windows? ...
PDCurses works on Win32.
I found List of Console Functions on msdn, PDCurses, and The Console Module.
You can certainly write that kind of application with Delphi, which has reasonable commandline support. People often overlook that Delphi can build any kind of Windows executable, not just GUI apps.
I don't know off-hand if the free 'Turbo' edition of Delphi has anything cobbled into it to PREVENT you from using it to build console apps - I would have thought it would be fine for this kind of thing.
There is a small but good tutorial on using C++ for the Windows console at www.benryves.com/tutorials/?t=winconsole&c=all going as far as coding a simple painting program.
You could also try Free Pascal. It is a free ((L)GPL) Object Pascal compiler which is compatible with the Delphi-compiler. It has an console-based IDE, which proves that you can make very good console-applications with it, and which you can use as an example.
If you want to use a graphical IDE to build your console-application, you can download the Lazarus IDE.
As a bonus your application will run on Windows (32/64 bit), Linux, Mac OS X, FreeBSD, Solaris etc...
In Windows or DOS, I used the conio library from Borland. It's very old but fine enough for a beginner like me.
As Robsoft says Delphi would be a good start. There is Turbo Delphi (Pascal based) or Turbo C++ both free editions.
web site here.
http://www.turboexplorer.com/
Check out some of the mono libs. They have a great one to parse command line arguments but can't remember the namespace.
Miguel just posted some terminal code as well.
For ncurses-like library/framework on Windows, I'll highly suggest to get your hand dirty with PDCurses.
If you trying/using C#, there's Curses-Sharp.
This is the best tool for it I've ever seen!!
1) Create any application using VB6 IDE
2) Convert it to Console Application, using THIS!

Resources