Вверх ↑
Ответов: 70
Рейтинг: 1
#1: 2019-12-07 23:38:39 ЛС | профиль | цитата
Напишу здесь. Здравствуйте.
Я так и не смог решить проблему сам, потому обращаюсь за помощью. Часто использую всякого рода WinPE (оооооооочень урезанная Windows).
Иногда нужно быстро определить сколько оперативной памяти есть в компьютере.
Я написал в Hiasm программу, которая определяет размер ОЗУ всеми мной найденными в Hiasm способами.
Если система (или WinPE) х64 - моя программа справляется отлично. Если же х86 - размер памяти показывает классические "до 4 ГБ"
В урезанных WinPE часто убирают WMIC - единственный метод, который давал моему приложению определить весь размер ОЗУ независимо от разрядности.

Насоветуйте компонент, способ, инструмент, решение, которое позволит нащупать весь размер оперативной памяти, способом, который не будет зависеть от WMIC. Пробовал найти ОЗУ через список всех устройство компьютера, но ОЗУ там не выводится, видимо.

Make(delphi)
ver(4.05 build 186)
Add(MainForm,1705260,105,308)
{
Width=100
Height=66
Ctl3D=0
WinStyle=4
Caption="RAM"
BorderStyle=6
ClientSize=0
Position=1
link(onCreate,14910828:doEvent1,[])
}
Add(MemoryInfo,2297200,364,154)
{
Point(DataWidth)
Point(FormFactor)
Point(Manufacturer)
Point(MemoryType)
Point(Model)
Point(Speed)
Point(Tag)
Point(SerialNumber)
Point(Version)
link(onInfo,3413619:doAdd,[(470,160)(470,141)(283,141)(283,216)])
}
Add(MT_AddData,3413619,364,210)
{
Count=13
link(onAdd,2195962:doEnum,[])
link(Data3,2297200:Capacity,[])
}
Add(MT_Enum,2195962,504,210)
{
link(onItem,16506621:doCalc,[])
}
Add(FastMathParse,16506621,595,210)
{
MathStr="%1 + %2"
link(onResult,7994889:doValue,[])
link(X2,7994889:Value,[(608,198)(640,198)(640,254)(671,254)])
}
Add(Memory,7994889,665,210)
{
Default=Integer(0)
link(onData,4009740:doOperation,[])
}
Add(Timer,8057500,7,322)
{
AutoStop=10
Point(onStop)
link(onStop,8809680:doEvent1,[])
}
Add(Hub,6497488,196,196)
{
link(onEvent1,7994889:doClear,[(399,202)(399,223)])
link(onEvent2,2297200:doInfo,[(248,209)(248,160)])
}
Add(Math,4009740,728,210)
{
OpType=7
Op2=1048576
link(onResult,3703034:doEvent1,[])
}
Add(Hub,3703034,777,210)
{
link(onEvent1,14391606:doEvent1,[])
link(onEvent2,1705260:doCaption,[(823,223)(823,271)(72,271)(72,314)])
}
Add(StyleXP,5828762,315,56)
{
}
Add(Label,7657303,896,210)
{
Top=24
Width=100
Height=22
Color=16711680
Font=[Lucida Console,16,0,0,204]
Transparent=0
Caption=""
AutoSize=1
Alignment=2
link(Text,4009740:Result,[(902,198)(818,198)(818,254)(734,254)])
}
Add(Application,5620354,931,301)
{
Point(doInfo)
}
Add(Hub,14391606,847,210)
{
link(onEvent2,5620354:doInfo,[(875,223)(875,314)])
}
Add(Button,1226204,14,371)
{
Left=100
Top=100
DefaultBtn=0
link(onClick,8809680:doEvent2,[(58,377)(58,342)])
}
Add(Hub,8809680,84,329)
{
InCount=2
OutCount=1
link(onEvent1,1705260:doClose,[])
}
Add(MemoryStatus,13996645,490,315)
{
Scale=2
}
Add(Hub,6397457,406,322)
{
link(onEvent1,13996645:Refresh,[(455,328)(455,321)])
link(onEvent2,16681703:doData,[(476,335)(476,377)])
}
Add(DoData,16681703,553,371)
{
link(onEventData,9834857:doText,[])
link(Data,13996645:RAM,[(559,359)(496,359)])
}
Add(Timer,11952897,308,322)
{
Interval=2000
AutoStop=1
link(onTimer,6397457:doEvent1,[])
}
Add(InlineCode,13511379,497,98)
{
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|0:|5: end;|0:|14:implementation|0:|4:end.|0:|
}
Add(MT_MultiData,4464888,252,518)
{
Count=10
Point(Data)
Point(RemaindData)
link(onData2,10669529:doText,[])
link(Data,11692057:MemoryInfo,[])
}
Add(DefragMemory,11692057,252,441)
{
Point(doDimension)
}
Add(Timer,13707807,833,119)
{
AutoStop=1
link(onTimer,7657303:doText,[(881,125)(881,216)])
}
Add(Hub,14910828,147,322)
{
link(onEvent1,6497488:doEvent1,[(165,328)(165,202)])
link(onEvent2,4464888:doSeparateMT,[(165,335)(165,524)])
}
Add(Label,10669529,315,525)
{
Top=2
Width=100
Height=22
Color=16777215
Font=[Lucida Console,16,0,0,204]
Transparent=0
Caption=""
AutoSize=1
Alignment=2
}
Add(Label,9834857,616,371)
{
Top=46
Width=100
Height=22
Color=255
Font=[Lucida Console,16,0,0,204]
Transparent=0
Caption=""
AutoSize=1
Alignment=2
}

карма: 0

0
Редактировалось 1 раз(а), последний 2019-12-07 23:39:41