Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

X-Program ПО, новости сайта и программирование в Delphi7


Информационный Канал Subscribe.Ru

Выпуск №23


О нас:
www.X-Program.narod.ru (Наш сайт. Последнее обновление - 04.12.2004);
http://xbase.banerka.ru/?xprogram (Наша гостевая книга);
http://narod.yandex.ru/userforum/?owner=x-program (Наш форум по Delpi7)
X-Program@narod. ru (Наш EMail. Присылайте свои вопросы).

Сегодня в выпуске:
1 - Отключение монитора
2 - Вопросы подписчиков
3 - Как показать иконку, ассоциированной с данным типом файла?
4 - Как изменить обои Windows программно?

Отключение монитора

В приведенном примере монитор отключается на 10 секунд.
type 
TForm1 = class(TForm) 
Button1: TButton; 
Timer1: TTimer; 
procedure FormCreate(Sender: TObject); 
procedure Timer1Timer(Sender: TObject); 
procedure Button1Click(Sender: TObject); 
private 
{ Private declarations } 
public 
MonitorOff : bool; 
{ Public declarations } 
end; 

var 
Form1: TForm1; 

implementation 

{$R *.DFM} 

procedure TForm1.FormCreate(Sender: TObject); 
begin 
Timer1.Enabled := false; 
Timer1.Interval := 10000; 
MonitorOff := false; 
end; 

procedure TForm1.Timer1Timer(Sender: TObject); 
begin 
if MonitorOff then begin 
MonitorOff := false; 
SendMessage(Application.Handle, 
wm_SysCommand, 
SC_MonitorPower, 
-1); 
Timer1.Enabled := false; 
end; 
end; 

procedure TForm1.Button1Click(Sender: TObject); 
begin 
MonitorOff := true; 
Timer1.Enabled := true; 
SendMessage(Application.Handle, 
wm_SysCommand, 
SC_MonitorPower, 
0); 
end; 

Вопросы подписчиков

Вопрос №1

Здравствуйте, X-Program.
Привет. Может, кому-нибудь из читателей, удалось написать утилиту, показывающую все активные TCP/IP соединения (аналог Netstat) на Delphi без использования Fnugry Netstat Components. Поделитесь пожалуйста исходником, а то дядька Google мне отказался с этим помочь. Ответить

Ответ №1

Нет ответа

Вопрос №2

Здравствуйте, X-Program.

как сделать индикатор загрузки процессора в % как в диспетчере задач?
перерыл кучу всяких факов и конференций, но ничего не нашел.
Помогите плиз.......Ответить

Ответ №2

Вобще-то тебе нужно узнать CPU. Вот тебе пример.  

program ....;
..
..

const
ID_BIT = $200000; // EFLAGS ID bit

function GetCPUSpeed: Double;
const
DelayTime = 500;
var
TimerHi, TimerLo: DWORD;
PriorityClass, Priority: Integer;
begin
try
PriorityClass := GetPriorityClass(GetCurrentProcess);
Priority := GetThreadPriority(GetCurrentThread);

SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread,THREAD_PRIORITY_TIME_CRITICAL);

Sleep(10);
asm
dw 310Fh // rdtsc
mov TimerLo, eax
mov TimerHi, edx
end;
Sleep(DelayTime);
asm
dw 310Fh // rdtsc
sub eax, TimerLo
sbb edx, TimerHi
mov TimerLo, eax
mov TimerHi, edx
end;

SetThreadPriority(GetCurrentThread, Priority);
SetPriorityClass(GetCurrentProcess, PriorityClass);

Result := TimerLo / (1000.0 * DelayTime);
except
end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
cpuspeed: string;
begin
cpuspeed := Format('%f MHz', [GetCPUSpeed]);
edit1.text := cpuspeed;
end;

Как показать иконку, ассоциированной с данным типом файла?

uses ShellApi; 

procedure TForm1.Button1Click(Sender: TObject); 
var 
Icon : hIcon; 
IconIndex : word; 

begin 
IconIndex := 1; 
Icon := ExtractAssociatedIcon(HInstance, 
Application.ExeName, 
IconIndex); 
DrawIcon(Canvas.Handle, 10, 10, Icon); 
end; 

Как изменить обои Windows программно?

SystemParametersInfo(SPI_SETDESKWALLPAPER, 
0, 
PChar('C:\SOMEPATH\SOME.BMP'), 
SPIF_SENDWININICHANGE); 

Дизайнер рассылки Андрей Ерёмин  |||  Редактор рассылки Коржов Алексей


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.program
Отписаться

В избранное