Воскресенье, 27.09.2026, 07:36
Вы вошли как Гость | Группа "Гости"Приветствую Вас Гость | RSS
Форма входа
Меню сайта
Главная » FAQ [ Добавить вопрос ]

Программирование Delphi [91]
Вопрос-Ответ по программированию

             procedure Delay(ms : longint); 
             {$IFNDEF WIN32} 
             var 
               TheTime : LongInt; 
             {$ENDIF} 
             begin 
             {$IFDEF WIN32} 
               Sleep(ms); 
             {$ELSE} 
               TheTime := GetTickCount + ms; 
               while GetTickCount < TheTime do 
                 Application.ProcessMessages; 
             {$ENDIF} 
             end; 
 
             procedure TForm1.Button1Click(Sender: TObject); 
             begin 
               MessageBeep(word(-1)); 
               Delay(200); 
               MessageBeep(word(-1)); 
               Delay(200); 
               MessageBeep(word(-1)); 
             end; 
 

Да, приведенный пример отключает кнопку закрытия и пункт "закрыть" ситсемного меню заданного окна.

 
            procedure TForm1.Button1Click(Sender: TObject); 
             var 
               hwndHandle : THANDLE; 
               hMenuHandle : HMENU; 
             begin 
               hwndHandle := FindWindow(nil, 'Untitled - Notepad'); 
               if (hwndHandle <> 0) then begin 
                 hMenuHandle := GetSystemMenu(hwndHandle, FALSE); 
                 if (hMenuHandle <> 0) then 
                   DeleteMenu(hMenuHandle, SC_CLOSE, MF_BYCOMMAND); 
               end; 
             end;

Следующий пример получает полный список каталогов по умолчанию (Favorites, Desktop, Programs, Fonts, SendTo, Start, Menu, Templates, Startup, Recent and NetHood) Windows и заносит его в Memo.
Пример :

 
             uses Registry; 
 
             procedure TForm1.Button1Click(Sender: TObject); 
             var 
               reg : TRegistry; 
               ts : TStrings; 
               i : integer; 
             begin 
               reg := TRegistry.Create; 
               reg.RootKey := HKEY_CURRENT_USER; 
               reg.LazyWrite := false; 
               reg.OpenKey( 
                'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders', 
                           false); 
                 ts := TStringList.Create; 
                 reg.GetValueNames(ts); 
                 for i := 0 to ts.Count -1 do begin 
                   Memo1.Lines.Add(ts.Strings[i] + 
                                   ' = ' + 
                                   reg.ReadString(ts.Strings[i])); 
                 end; 
                 ts.Free; 
               reg.CloseKey; 
               reg.free; 
             end; 
 

См. пример
Пример :

 
 
             uses Windows; 
 
             procedure ShowDllPath stdcall; 
             var 
               TheFileName : array[0..MAX_PATH] of char; 
             begin 
               FillChar(TheFileName, sizeof(TheFileName), #0); 
               GetModuleFileName(hInstance, TheFileName, sizeof(TheFileName)); 
               MessageBox(0, TheFileName, 'The DLL file name is:', mb_ok); 
             end; 

Приведенный пример показывает использование DDE для вызова диалога 'Найти файлы и паки' Explorerа. Диалог открывается на каталоге "C:\Download".

 
            procedure TForm1.Button1Click(Sender: TObject); 
             begin 
               with TDDEClientConv.Create(Self) do begin 
                 ConnectMode := ddeManual; 
                 ServiceApplication := 'explorer.exe'; 
                 SetLink( 'Folders', 'AppProperties'); 
                 OpenLink; 
                 ExecuteMacro('[FindFolder(, C:\DOWNLOAD)]', False); 
                 CloseLink; 
                 Free; 
               end; 
             end; 

Наш опрос
С какого поисковика вам стал известен сайт?
Всего ответов: 28
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Поиск