Recent comments
-
Site redesign
These tutorials are very valuable to us, thank you very much. Great Work!
-
Part 12 - Uniscribe Mysteries
In a culture which prizes an unflappable exterior during times of emotional crisis, the question of what people are really like is one that comes up frequently.The simmering suspicion that people are not what they seem to be surely must inform mystery writers, who plant clues to establish the notion that anyone is capable of perpetrating a crime.
-
Undocumented CreateProcess
What about running some code against each database on a SQL Server instance? If so, did you know there are a couple of different ways to accomplish this? Either you can create a cursor that contains all the tables in a database, or all the databases on a SQL Server instance, or you can use a couple of undocumented SQL Server Stored Procedures. This article will show you how the undocumented Stored Procedures work, and will provide you with some examples on how to use them. This author thinks the undocumented Stored Procedures are much easier to use than using a cursor.
-
Memory Management for Large-File Editors
This article was inspired by a very recent conversation with a good friend.Concerning text editors, memory management and various schemes to deal with very, very large files using memory and disk based buffers. It will look at the limitations of some text editors, the problems with removing some of those limitations and offer a (hopefully) useful and easy to understand solution.
-
Techniques for reducing Executable size
I describe some techniques for reducing the size of executable (EXE and DLL) files. However, Fred's question addresses a different issue. Specifically, even the smallest of C/C++ programs ends up bigger than necessary because of the overhead imposed by the runtime library (RTL).Often a simple program doesn't need all of the compiler's RTL functions to run and you end up with unneeded code in your executables. For these programs, it's possible to replace various pieces of the RTL code and save quite a bit of space. In this column I'll show where many 32-bit executables are bigger than they have to be, and show you a way to slash their sizes dramatically.I don't mean to be hard on the runtime libraries. They do a large amount of grunt work for you. My point in this column is to show that there's nothing magical about the runtime library. It's just code, and as such, you can replace it with other code. By writing your own custom initialization code, you can remove references to many of the routines that are linked into all C or C++ executables. When you remove the references to those functions, the linker in turn won't include them in the final executable, and your executable will be smaller as a result.
-
Self Deleting Executables
While this approach does get the job done, the fact that our deletion code executes in the remote process even before Windows has had a chance to initialize it fully places some restrictions on the kind of APIs that we can invoke. It so turns out that APIs like DeleteFile and ExitProcess do work while the process is in this half-baked state. So I figured I'll modify the approach somewhat so that it allows us to call any API we want from our injected code.
-
Docking Toolbars (Part 2)
The Microsoft Foundation Class Library supports dockable toolbars. A dockable toolbar can be attached, or docked, to any side of its parent window, or it can be detached, or floated, in its own mini-frame window. This article explains how to use dockable toolbars in your applications.
If you use the Application Wizard to generate the skeleton of your application, you are asked to choose whether you want dockable toolbars. By default, the Application Wizard generates the code that performs the three actions necessary to place a dockable toolbar in your application:
- Welcome!
- HexEdit 2.0 Beta
- Site redesign
- HexEdit beta 3
-
Docking Toolbars (Part 1)
North Face Tokyo Exhibition at Spiral
links of london
charm bracelets
sweetie bracelet -
Docking Toolbars (Part 1)
I just wanted to take a moment and say thank you for the work you all are doing! Most of us would never have been able to connect the dots with much of this!
-
Win32 Tips and Tricks - Part 1
Thanks you for this great and valuable tutorial, keep up the good work :D
-
64bit Scrollbars
Yes I agree this is very important resources , for me it help to resolve 20% of my business.
Thanks,
-
Win32 Tips and Tricks - Part 2
In vista 64-bit there is a minor bug, I don't think the caret get properly width of the caret. Okay it's not a big deal but when trying to select some text from left to right it looks normal except for white vertically lines for every character selected. I think it's because of the caret width is 2 pixels but in vista, notepad uses 1 pixel.
Thank you for this great and valuable tutorial, keep up the good work :D
-
Part 17 - Editing Text with Piece Chains
Dear Admin, I thank you for this informative article. And I thank you for this I follow your vendors. It’s very good. I wish you continued success... This is a great resource for growing your business.There are various aspects in business management and to grow the business.This is a very useful for tool for young entrepreneurs.
-
Part 15 - Integrating UspLib
Hi,
I just wanted to say that Your articles have been a great help to me, thanks! :)
But, I can not find the source code about this article!!
how can I get it? thanks! -
Memory Management for Large-File Editors
Also, there is a small bug, I think:
size_w len = min(length, MEM_BLOCK_SIZE / 4);
should really be
size_w len = min(length, MEM_BLOCK_SIZE / 2);
since as far as I can tell, you will have at least 64K (not 32) mapped in view from *any* request you can make (provided the file itself is over 64k :) ).
Please correct me if I made a mistake.
EDIT: Ah, sorry, nevermind, you are correct. We may not have M/2 bytes mapped. We will indeed have at least M/4 like you said.
-
Memory Management for Large-File Editors
Also, what is the difference between sequence::filebufferlength, and sequence::length ?
I looked at the code but it doesn't seem like they're ever different from each other.
-
Memory Management for Large-File Editors
18 exabytes is actually a lot more than "18 thousand thousand megabytes".
1 thousand megabytes = 1 Gigabyte
1 thousand gigabytes = 1 Terabyte
1 thousand terabytes = 1 Petabyte
1 thousand petabytes = 1 Exabyte.So 18 exabytes is a heck of a lot more than 18 terabytes :)
-
Part 2 - OLE Data Transfers
That's worth to read. You have enlightened me.
corporate gifts | promotional clothing | Promotional Products
-
Part 3 - Implementing IDataObject
Thanks you for this great and valuable tutorial, keep up the good work :D
corporate gifts | promotional clothing | Promotional Products
-
Printing in Windows
That's worth to read. You have enlightened me.
-
Part 10 - Transparent Text
That's worth to read. You have enlightened me.
Recent comments
1 min 55 sec ago
5 weeks 6 days ago
5 weeks 6 days ago
5 weeks 6 days ago
5 weeks 6 days ago
5 weeks 6 days ago
5 weeks 6 days ago
6 weeks 6 days ago
6 weeks 6 days ago
6 weeks 6 days ago