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

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

Запустить аплет Панели управления можно вызвав функцию WinExec, для выполнения файла control.exe, которому передано имя аплета. Обычно аплеты панели управления расположены в каталоге System Windows и имеют расширение .cpl.
Пример
:

 
              procedure TForm1.Button1Click(Sender: TObject); 
             begin 
               WinExec('C:\WINDOWS\CONTROL.EXE TIMEDATE.CPL',  
                    sw_ShowNormal); 
               WinExec('C:\WINDOWS\CONTROL.EXE MOUSE',  
                    sw_ShowNormal); 
               WinExec('C:\WINDOWS\CONTROL.EXE PRINTERS',  
                    sw_ShowNormal); 
             end; 
Добавил: casperof

Обычно нет необходимости переводить принтер в режим цветной печати, если он установлен в этот режим. Windows автоматически переведет цветную печать в черно-белую, если принтер не поддерживает цветной печати. Если Вам необходимо програмно изменить режим цвета, Вы можете обратится к структуре DevMode драйвера принтера.
Пример
:

 
             uses Printers; 
 
             procedure TForm1.Button1Click(Sender: TObject); 
             var 
               Device : array[0..255] of char; 
               Driver : array[0..255] of char; 
               Port   : array[0..255] of char; 
               hDMode : THandle; 
               PDMode : PDEVMODE; 
 
             begin 
               with Printer do begin 
                 PrinterIndex := PrinterIndex; 
                 GetPrinter(Device, Driver, Port, hDMode); 
 
                 if hDMode <> 0 then begin 
                   pDMode := GlobalLock(hDMode); 
                   if pDMode <> nil then begin 
                     pDMode.dmFields := pDMode.dmFields or dm_Color; 
                     pDMode.dmColor := DMCOLOR_COLOR; 
                     GlobalUnlock(hDMode); 
                   end; 
                 end; 
 
                 PrinterIndex := PrinterIndex; 
                 BeginDoc; 
                 Canvas.Font.Color := clRed; 
                 Canvas.TextOut(100,100, 'Red As A Rose!'); 
                 EndDoc; 
               end; 
             end; 
Добавил: casperof

Используйте функцию ShellExecute.
Пример :

 
             uses ShellAPI; 
 
             procedure TForm1.Button1Click(Sender: TObject); 
             begin 
               ShellExecute(Form1.Handle, 
                            nil, 
                            'http://www.borland.com', 
                            nil, 
                            nil, 
                            SW_SHOWNORMAL); 
             end; 
Добавил: casperof

Это не возможно. Вы можете стереть его во время следующего запуска Windows, добавив ключ RunOnce:

 
             HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce 
 


Пример :

 
             uses 
               Registry; 
 
             procedure TForm1.Button1Click(Sender: TObject); 
             var 
               reg: TRegistry; 
 
             begin 
               reg := TRegistry.Create; 
                
               with reg do begin 
                 RootKey := HKEY_LOCAL_MACHINE; 
                 LazyWrite := false; 
                 OpenKey('Software\Microsoft\Windows\CurrentVersion\RunOnce', 
                             false); 
                 WriteString('Delete Me!','command.com /c del FILENAME.EXT'); 
                 CloseKey; 
                 free; 
               end; 
             end; 
Добавил: casperof

Скопируйте файл шрифта в директорию Windows\Fonts, и добавьте строку с именем шрифта и его расположением в разделе "'Software\Microsoft\Windows\CurrentVersion\Fonts". Вызовите функцию AddFontRecource(), а затем передайте системе сообщение WM_FONTCHANGE. И наконец, для удоления установленного шрифта, вызовите функцию RemoveFontRecource(), а затем передайте системе сообщение WM_FONTCHANGE.
Пример
:

 
             uses Registry; 
 
             procedure TForm1.Button1Click(Sender: TObject); 
             var 
               reg: TRegistry; 
               b : bool; 
             begin 
               CopyFile('C:\DOWNLOAD\FP000100.TTF', 
                        'C:\WINDOWS\FONTS\FP000100.TTF', b); 
               reg := TRegistry.Create; 
               reg.RootKey := HKEY_LOCAL_MACHINE; 
               reg.LazyWrite := false; 
               reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Fonts', 
                           false); 
               reg.WriteString('TESTMICR (TrueType)','FP000100.TTF'); 
               reg.CloseKey; 
               reg.free; 
              {Add the font resource} 
               AddFontResource('c:\windows\fonts\FP000100.TTF'); 
               SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0); 
              {Remove the resource lock} 
               RemoveFontResource('c:\windows\fonts\FP000100.TTF'); 
               SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0); 
             end; 
Добавил: casperof

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

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