|
|
While that utility does indeed show what DLLs are loaded, I do not see it showing what applications those DLLs are loaded by. Did I miss something?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
DavidR_r wrote:
How can I determine which application is using a given DLL.
Does this help?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Thanx,It is interesting.
But I am looking also for api so I could redesign the application for my specific use.
DavidR
|
|
|
|
|
Hi,
I want to bypass firewalls. Actually I want to be able to send some reports from my program to a user email using the SMTP but I don't want any firewall to catch me. I implemnted the sending module, but now the problem is how to avoid tthe firewall. Any one can help me please?!!!
Thanks
Eng. Ayman Mahmoud
VC++ Team Leader
|
|
|
|
|
Unless you have physical access or admin rights to the firewall machine, you're out of luck. Honestly, a program that tries to bypass a firewall would be more suspicious to a network admin than an app just using regular SMTP. A firewall is there for a good reason.
--Mike--
Personal stuff:: Ericahist | Homepage
Shareware stuff:: 1ClickPicGrabber | RightClick-Encrypt
CP stuff:: CP SearchBar v2.0.2 | C++ Forum FAQ
----
#include "witty-quote.h"
|
|
|
|
|
Michael Dunn wrote:
A firewall is there for a good reason.
Agreed! Can you imagine a virus writer asking himself, "Should my code respect the firewall settings, or should it just bypass the whole mess to guarantee the delivery of my payload? Hmmm."
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
I'm currently on a project which needs to exam memory contents of an other process, basically, it searchs for certain pattern in the target process's page memorys, if pattern found then do some further examination, else keeps searching for same pattern.
I did it by this way:
First, I use ::VirtualQueryEx to obtain all pages of the target process and store those page information(base address and page size) in an array. This step completes in no time.
Second, I use ::ReadProcessMemory to read the memory from each page(bytes by bytes) and compare the bytes with my predefined pattern, which are an array of bytes, using memcmp .
I will finally find the memory address that I want for sure, but the problem is that it's slow, very slow. The target process has over 500 pages and total size of which are over 70MB, it takes like 50 seconds to finish the searching, and that makes my application completely useless.
Now since you guys are all gurus out here, I think there must be something to do to shorten the search time, please help and thanks in advance.
|
|
|
|
|
the only thing i can think of, is writing some own
memcmp function based on KnuthMorrisPrat or BoyreMoore algorithms... I actualy dont know how the standard memcmp behaves but I imagine it has a O(nm) runtime, so if your pattern is relativly long, you can speedup your app a lot. (I GUESS)
|
|
|
|
|
=[ Abin ]= wrote:
it takes like 50 seconds to finish the searching, and that makes my application completely useless.
If by "useless" you mean nonresponsive, then I suggest you put the processing code in a separate thread. That way, your UI remains responsive. See this article for more.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Hello,
Can someone explain me please (in as more detail as you can) what the purpose of the (somewhat annoying) precompiled header(s) is?
I am referring of course to the famous MFC's stdafx.h . What's its purpose? Do I really need to have one of these beasts?
All comments are welcome.
|
|
|
|
|
|
Precompiled headers allow you to compile a stable body of code, store the compiled state of the code in a file, and, during subsequent compilations, combine the precompiled code with code that is still under development. Each subsequent compilation is faster because the stable code does not need to be recompiled.
The first compilation (the one that creates the precompiled header file) takes a bit longer than subsequent compilations. Subsequent compilations can proceed more quickly by including the precompiled code.
You can precompile both C and C++ programs. In C++, it's common practice to separate class interface information into header files. These header files can later be included in programs that use the class. By precompiling these headers, you can reduce the time a program takes to compile.
dNimrod#X wrote:
Do I really need to have one of these beasts?
No, but I would recommend using precompiled headers to reduce build time.
See this[^] MSDN link for a nice explanation.
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
|
Hi there,
I have this workspace which holds one project that generates a static-library. I am trying now to split this (big) project into smaller ones, not only to make it more easily readable but also because I think it's more logical and one should implement modularity whenever possible.
Now what I would like to know is how I can have multiple projects, parts of the previously referred workspace, have their compiled code be appended to ONE (and the same) static-library? -- is this at all possible?
Also, I have some stand alone source files which are not a part of any project just yet. How can I create a blank project to incorporate them (if such a thing is possible) ?
Thank you so much.
|
|
|
|
|
You may want to consider splitting the large lib into several smaller ones (as long as they aren't dependent on each other). Each lib would be in its own project. You can combine multiple projects into a single workspace.
I tend to keep my general purpose libs in separate, distinct projects, each in its own workspace. When I build an app, I just link with the appropriate lib(s). I'm careful to have no inter-lib dependencies - i.e. lib_1 doesn't require you to also link with lib_2 .
I use the following directory layout for each lib.
/lib_1
/src (.cpp files and private .h files)
/inc (public .h files)
/bin (debug & release build targets - i.e. the .lib files)
/doc (Doxygen generated documentation)
/Debug (compiler generated files - Debug builds)
/Release (compiler generated files - Release builds)
I use the "D" suffix for debug build targets. So my lib files are named lib_1.lib and lib_1D.lib . Both release and debug flavors of the built libs reside in the <code? bin<="" code=""> directory.
Only the <code>lib_1, /src and /inc dirs are backed up (and under version control). Everything else is generated and doesn't need to be saved.
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
Great stuff Ravi!
I'm really impressed with the kind of organisation you employ. I was thinking of doing something not so quite similar, but you have indeed given me great ideas on how to improve my initial idea! For that, thank you.
Ravi Bhavnani wrote:
/doc (Doxygen generated documentation)
Now you have mentioned Doxygen: is this some sort of an automatized documentation generation app? I can't tell you how much I've been looking for one -- hell, I was even considering building one up from scratch.
Can you tell me a bit more about this Doxygen app of yours?
|
|
|
|
|
Doxygen is a free, open source doc generator and rocks the big one! You can download it from here[^]. I also use GraphViz[^] (which plugs into Doxygen) to generate pretty class hierarchy diagrams. GraphViz is also open source and free.
For a nice write-up on how to use Doxygen in your VC++ projects, see Peter Chen's article[^]. For a quick look at a Doxygen-ated lib, see my FooButton[^] article.
Doxygen makes writing documentation easy. Once you start using it, you'll wonder how you ever got by without it!
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
Ravi,
I've jsut downloaded it five minutes ago or so and have been trying it out. It seems that in order for Doxygen to document code you have to comment it using a special syntax?
It seems like it is pretty complete though!
|
|
|
|
|
dNimrod#X wrote:
It seems that in order for Doxygen to document code you have to comment it using a special syntax?
Yes. See FooButton.h in my FooButton[^] article for an example. The syntax is very simple (and is in fact even customizable).
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
Ravi, one last question please.
In your opinion, is this the best (freeware) documentation generating app available?
|
|
|
|
|
Dunno about "best", but with thousands of commercial and open-source projects using it, it's pretty darn good. Also, the price is hard to beat!
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
dNimrod#X wrote:
is this at all possible?
yes, completely.
ex. if you have three libraries A, B and C VC++ will combine them into a single library A, if you simply make A dependent on B and C.
dNimrod#X wrote:
How can I create a blank project to incorporate them (if such a thing is possible) ?
i'd just create an empty Win32 static library project and drop them in there.
Software | Cleek
|
|
|
|
|
Hello EveryOne,
I have made a simple program to enumerate the running processes of the system and i want to show the processes's information that includes Name, Path, Type, Threads etc. Everything goes fine except Type.
I want to categorize the processes into System Processes, User Processes, Local Services and Network Services. How can i do that?
Thanks
|
|
|
|
|
How do we bind a ADO dialog control Edit box to a comboBox to the second recordset field data?
|
|
|
|