Как перетащить файлы из проводника в мою программу TMainForm = class(TForm) ... private procedure WMDROPFILES(var Message: TWMDROPFILES); message WM_DROPFILES; procedure ProcessFile(Filename: string); end;
procedure TMainForm.FormCreate(Sender: TObject); begin DragAcceptFiles(MainForm.Handle, TRUE); // enable drag&drop end;
procedure TMainForm.ProcessFile(Filename: string); begin // any actions end;
procedure TMainForm.WMDROPFILES(var Message: TWMDROPFILES); var Files : Longint; I : Longint; Buffer : array[0..MAX_PATH] of Char; begin Files := DragQueryFile(Message.Drop,$FFFFFFFF,nil,0); // Get count of files for I := 0 to Files - 1 do begin DragQueryFile(Message.Drop,I,@Buffer,SizeOf(Buffer)); // Get N file ProcessFile(Buffer);
// do something with the file end; DragFinish(Message.Drop); // end d
rag loop end;
Ограничение количества одновременно запущенных экземпляров приложения
Обсуждение данной темы ведется, начиная с появления первых 32-х разрядных версий Windows. Казалось бы, проблема давно уже должна быть окончательно решена, но количество вопросов в конференциях и форумах не уменьшается, хотя из книги в книгу, из FAQ'а в FAQ кочуют одни и те же варианты решения. Но не все так очевидно и просто...
Реестр Windows XP. Специальный справочник
В настоящем издании подробно рассматриваются практические приемы настройки операционной системы Microsoft Windows XP Home и Professional Edition методом редактирования системного реестра. В книге детально описывается архитектура реестра, объясняется соответствующая терминология, рассказывается об инструментальных средствах для работы с реестром и о вспомогательном программном обеспечении. Также в рамках настоящей книги изучается широкий круг смежных вопросов, таких как организация системных служб Windows XP и оптимизация работы системы, даются практические рекомендации по повышению ее быстродействия. Книга предназначена для опытных пользователей и системных администраторов.
Автор: Шалин П. А.