Today's Little Program enumerates all the applications which are registered for a particular file extension and lets the user choose one. We then open a file with that chosen program. As always, Little Programs do little to no error checking. The LoadHandlers function shows off the meat of the program: We use SHAssocEnumHandle
Dynamic currency conversion is a service provided by merchants when processing credit cards payable in a foreign currency. Say, for example, you present a credit card issued by a United States bank to a hotel in Ireland, where the Euro is the local currency. In order to serve you better, the hotel will convert the fee from Euros into dollars.
A customer had a collection of processes, all of which are writing to a single file. Each process wants to append some data to a file and also know where the appended data was written, because the location of the appended record needed to be saved somewhere else. "We are currently using a named mutex derived from the path to the file. To add a
Here are some email messages I received from an automated system. October 20: "This survey must be completed no later than November 14." October 31: "Reminder, this survey must be completed no later than November 14." November 12: "Final reminder, this survey must be completed no later than November 14." November 14: "Extension, this surve
A customer asked for clarification in the documentation for FindFirstFile and related functions, such as FindFirstFileEx and FindFirstFileTransacted Does FindFirstFileEx support multiple wildcards in the lpFileName parameter? The documentation is not clear. We are hoping to pass some
In this story about Restoration Hardware's mail order extravagance, there is a little statistic: Industry surveys from groups like the Direct Marketing Association estimate that catalogues get average response rates of four to five per cent. That reminded me a story back from the days when Microsoft sold Fortran PowerStation, the development
A synchronization barrier is a synchronization object that works like this: A synchronization barrier knows how many threads it is managing. Each thread that calls EnterSynchronizationBarrier blocks. When the last thread enters the synchronization barrier, all threads are released. Once a thread exits the synchronization
A customer had a question about how to set up a security access mask. How can I deny thread-specific access rights to Everyone? Specifically, I want to deny the Everyone group the following rights when I create a process: THREAD_SET_INFORMATION THREAD_SET_THREAD_TOKEN THREAD_TERMINATE PROCESS_CREATE_PROCESS PROCESS_SET_SESSIONID PROCES
My wife watches 非誠勿擾, a Chinese dating game show. The title literally translates as "If not sincere, then do not bother", but that doesn't really convey what the title means. It follows in the Chinese tradition of the cryptic four-character phrase. The less cryptic version would be "If you are not sincere, then don'