» windows Borland Delphi. windows. . Блог программистов


Блог программистов






20072 Мар

Windows

Надо узнать, где запрятана, на компьютере, эта глюченая, но родная система под названием windows:


Private
Windir: string;
WindirP: PChar;
Res: Cardinal;

procedure TForm1.Button1Click(Sender: TObject);
begin
WinDirP := StrAlloc(MAX_PATH);
Res := GetWindowsDirectory(WinDirP, MAX_PATH);
if Res > 0 then
WinDir := StrPas(WinDirP);
Caption := WinDir;
end;

Теперь надо выяснить, что за windows и dos перед нами. Думаю, пару label и одной button хватит:
(more…)

20072 Мар

Работа с реестром

Реестр очень нужная вещь! Им должен уметь пользоваться каждый. Сегодня я покажу маленький пример как сохранить некоторые параметры Вашей программы.
Первое что надо сделать это добавить в uses модуль Registry
Затем написать две процедуры:

type
TForm1 = class(TForm)
procedure SaveProgParam;
procedure LoadProgParam;

procedure TForm1.SaveProgParam;
var
FIniFile: TRegIniFile;
Begin
// по умолчанию всё делается в HKEY_CURRENT_USER
FIniFile := TRegIniFile.Create('Software');
FIniFile.OpenKey('Папка_вашей_программы',true);
if Form1.WindowState=wsNormal then
begin
FIniFile.WriteInteger('Option', 'Width', Width);
// Write… - означает запись, …Integer – означает тип записываемой переменной
// Первый параметр 'Option' – это подраздел: 'Папка_вашей_программы\Option\'
// Второй параметр 'Width' – название ключа (файла в реестре)
// Третий – это переменная которую мы записываем
FIniFile.WriteInteger('Option', 'Heigth', Height);
FIniFile.WriteInteger('Option', 'Left', Left);
FIniFile.WriteInteger('Option', 'Top', Top);
end;
FIniFile.WriteInteger('Option', 'WinState', Integer(WindowState));
FIniFile.Free; //освобождаем переменную
end;


Здесь мы записали положение окна и развёрнуто ли оно. Далее мы пишем процедуру загрузки этих параметров:
(more…)

20072 Мар

О ярлыках

Основа создания ярлыка является следующие:
В раздел Uses необходимо добавить следующие модули ShlObj, ActiveX, ComObj, StdCtrls;
private
procedure CreateShotCut(SourceFile, ShortCutName, SourceParams: String);
public
{ Public declarations }
end;

implementation

procedure TForm1.CreateShotCut(SourceFile, ShortCutName, SourceParams: String);
var
IUnk: IUnknown;
ShellLink: IShellLink;
ShellFile: IPersistFile;
tmpShortCutName: string;
WideStr: WideString;
i: Integer;
begin
IUnk := CreateComObject(CLSID_ShellLink);
ShellLink := IUnk as IShellLink;
ShellFile := IUnk as IPersistFile;

ShellLink.SetPath(PChar(SourceFile));
ShellLink.SetArguments(PChar(SourceParams));
ShellLink.SetWorkingDirectory(PChar(ExtractFilePath(SourceFile)));

ShortCutName := ChangeFileExt(ShortCutName,’.lnk’);
if fileexists(ShortCutName) then
begin
ShortCutName := copy(ShortCutName,1,length(ShortCutName)-4);
i := 1;
repeat
tmpShortCutName := ShortCutName +'(‘ + inttostr(i)+ ‘).lnk’;
inc(i);
until not fileexists(tmpShortCutName);
WideStr := tmpShortCutName;
end
else
WideStr := ShortCutName;
ShellFile.Save(PWChar(WideStr),False);
end;

Например, для создания ярлыка в автозагрузки надо:
(more…)

20072 Мар

Панель задач. Пуск

Начнём с общего. Как скрыть и показать Панель задач:

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowWindow(FindWindow('Shell_TrayWnd', nil), SW_HIDE); // Скрыть
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ShowWindow(FindWindow('Shell_TrayWnd', nil), SW_SHOW); // Показать
end;

Теперь сделаем иконку рядом с часами:
(more…)

20072 Мар

Рабочий стол

Итак, Рабочий стол- это первое что мы видим после загрузки пользователя. Сначала я дам код, как изменить фоновый рисунок на Столе. Вот что надо написать:

implementation

Uses ShlObj, ComObj;

procedure ChangeWallpaper;
const
CLSID_ActiveDesktop: TGUID = '{75048700-EF1F-11D0-9888-006097DEACF9}';
var
ActiveDesktop: IActiveDesktop;
begin
ActiveDesktop := CreateComObject(CLSID_ActiveDesktop)
as IActiveDesktop;
ActiveDesktop.SetWallpaper('Путь к файлу', 0);
ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
end;


(more…)

20072 Мар

Апплеты в панели управления

Апплеты — это программы, которые Вы видите в панели управления, и с помощью которых можно, допустим, сделать быструю настройку, или как обычно сделать программу для удаления и обновления своей основной программы.
Начнём. Создаём обычный проект. В этом проекте ВСЁ делаем как обычно, пока код не отличается, запускаем, проверяем работу всех функций. После всего этого нажимаем Project>View source(у кого русская версия то Проект>..), короче там должны в окне, где набирали программу что-то типа этого Program Project1; и так далее. Изменяем Program на Library. Используемые модели в USES Cpl, Windows, Forms. Дальше объявим процедуру
procedure ExecuteApp;
(more…)

← Предыдущая страница
Page 2 of 2«12

Облако меток

AdSense клиент компонент api ClientSocket библиотеки dll ServerSocket приложение INTERFACE шифровка байт char работа пароль учеба programmer процессор Application HANDLE Cursor C++ AssignFile хуки win api Project Internet google FASM memo исходники html функция язык System поиск GetLastError алгоритм программист programmersclub сервер форум exe сайт файл проект Assembler шифрование windows delphi