Помогите с курсовым плиз функции Win Api

  • Автор темы f2.PypS
  • Дата начала
Статус
Закрыто для дальнейших ответов.
F

f2.PypS

#1
разработать программу выдающую полную информацию о компьютере частоту процессора, обьем ОЗУ, наличие портов ввода вывода, дисковода, клавиатуры, мыши. Системный каталог виндовс. Предусмотреть возможность управления некоторыми из них (включение выключение)

или

Разработать программу выдвюшую полную инфу о дисках размер, свободное место, размер кластера, кол-во секторов, размер сектора

помогите плиз советоми как реализовать одну из программ, или посоветуйте что в инете можно почитать по данной тематике...

Если у кого то есть исходники дайте плиз.. очень нужно ...
 
F

f2.PypS

#3
Может кто нить помочь с переводом кода из делфи в си билдер ? Хотя бы часть кода для примера ?
 
04.09.2006
2 566
3
#4
Все же очень просто... А вообще программист должен понимать код, написанный на других языках. Так что практика перевода с одного языка на другой очень полезна... А вообще можешь спорные куски сюда выложить
 
F

f2.PypS

#5
Весь косяк в том что я не знаю Си впринципе.. а курсач сдавать через пару дней =) я на делфи его написал, а нужно на си

Допустип вот пара функция если не сложно переведите какую нить из них чтобы я примерно понял как это делать =)

function GetCPUVendor: TVendor; assembler; register;
asm
PUSH EBX
PUSH EDI
MOV EDI,EAX
MOV EAX,0
DW $A20F
MOV EAX,EBX
XCHG EBX,ECX
MOV ECX,4
@1:
STOSB
SHR EAX,8
LOOP @1
MOV EAX,EDX
MOV ECX,4
@2:
STOSB
SHR EAX,8
LOOP @2
MOV EAX,EBX
MOV ECX,4
@3:
STOSB
SHR EAX,8
LOOP @3
POP EDI
POP EBX
end;
//----------------------------------------------------------------

function GetCPUSpeed: double;
const
DelayTime = 500;
var
TimerHi, TimerLo: DWORD;
PriorityClass, Priority: integer;
begin
PriorityClass := GetPriorityClass(GetCurrentProcess);
Priority := GetThreadPriority(GetCurrentThread);
SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);
Sleep(10);
asm
dw 310Fh
mov TimerLo, eax
mov TimerHi, edx
end;
Sleep(DelayTime);
asm
dw 310Fh
sub eax, TimerLo
sbb edx, TimerHi
mov TimerLo, eax
mov TimerHi, edx
end;
SetThreadPriority(GetCurrentThread, Priority);
SetPriorityClass(GetCurrentProcess, PriorityClass);
Result := TimerLo / (1000.0 * DelayTime);
end;
//------------------------------------------------------------------
// Eioi?iaoey i eiiiu?oa?a

Procedure TfmMain.HardwareInfo;
var Size : cardinal;
Pres : PChar;
Bres : Boolean;
lpSystemInfo : TsystemInfo;
begin
Size := MAX_COMPUTERNAME_LENGTH +1;
Pres := StrAlloc(Size);
Bres := GetComputerName(Pres, Size);
if Bres then label_CompName.Caption := 'Eiy: ' + StrPas(Pres);
//eiy iieuciaaoaey
Size := MAX_COMPUTERNAME_LENGTH +1;
Pres := StrAlloc(Size);
Bres := GetUserName(Pres, Size);
if Bres then label_UserName.Caption := 'Iieuciaaoaeu: ' + StrPas(Pres);
//I?ioanni?
GetSystemInfo(lpsysteminfo);
label_cpumodel.Caption := 'CPU Eeanna x' + IntToStr(lpsysteminfo.dwProcessorType);
end;
Procedure TfmMain.Videoinfo;
var
DC : hDC;
c: string;
begin
//?ac?aoaiea
label_screen.Caption := '?ac?aoaiea ye?aia: ' + IntToStr(Screen.Width)+ ' ia ' + IntToStr(Screen.Height);
//Aeoaeia oaaoa
DC := CreateDC('DISPLAY',nil,nil,nil);
case GetDeviceCaps(DC,BITSPIXEL) of
8 : c:= '256 oaaoia';
15 : c:= 'Hi-Color / 32768 oaaoia';
16 : c:= 'Hi-Color / 65636 oaaoia';
24 : c:= 'True-Color / 16 iei. oaaoia';
32 : c:= 'True-color / 32 iei. oaaoia';
end;
label_color.caption :='Ea?anoai oaaoiia?aaa?e: ' + c;
DeleteDC(DC);
end;
 
04.09.2006
2 566
3
#6
<!--QuoteBegin-f2.PypS+5:01:2007, 13:53 -->
<span class="vbquote">(f2.PypS @ 5:01:2007, 13:53 )</span><!--QuoteEBegin-->Допустип вот пара функция если не сложно переведите какую нить из них чтобы я примерно понял как это делать =)
Код:
function GetCPUVendor: TVendor; assembler; register;
asm
PUSH EBX
PUSH EDI
MOV EDI,EAX
MOV EAX,0
DW $A20F
MOV EAX,EBX
XCHG EBX,ECX
MOV ECX,4
@1:
STOSB
SHR EAX,8
LOOP @1
MOV EAX,EDX
MOV ECX,4
@2:
STOSB
SHR EAX,8
LOOP @2
MOV EAX,EBX
MOV ECX,4
@3:
STOSB
SHR EAX,8
LOOP @3
POP EDI
POP EBX
end;
//----------------------------------------------------------------
[snapback]52370" rel="nofollow" target="_blank[/snapback]​
[/quote]
Интересно, с каких пор ЭТО код на Object Pascal? :)
 
Статус
Закрыто для дальнейших ответов.