Вверх ↑
Этот топик читают: Гость
Ответов: 195
Рейтинг: 1
#1: 2014-08-31 14:06:36 ЛС | профиль | цитата
а как прогресбар вывести на панель задач (на иконке приложения) в windows 7

и еще есть ли компонент, который позволяет определить под какой операционкой запущено приложение?
карма: 0

0
Разработчик
Ответов: 26164
Рейтинг: 2127
#2: 2014-08-31 14:15:58 ЛС | профиль | цитата
z80 писал(а):
под какой операционкой запущено приложение?

Версия или разрядность
карма: 22

0
Ответов: 195
Рейтинг: 1
#3: 2014-08-31 14:26:05 ЛС | профиль | цитата
желательно и версию и разрядность
карма: 0

0
Ответов: 824
Рейтинг: 138
#4: 2014-08-31 14:42:41 ЛС | профиль | цитата
Add(MainForm,2953706,98,126)
{
Height=132
link(onCreate,14359565:doData,[])
}
Add(ComputerInfo,16073970,175,91)
{
}
Add(Label,16460166,266,140)
{
Left=15
Top=40
Width=335
}
Add(DoData,14359565,196,140)
{
link(onEventData,16460166:doText,[])
link(Data,16073970:WinInfo,[])
}

карма: 1

0
Разработчик
Ответов: 26164
Рейтинг: 2127
#5: 2014-08-31 15:01:54 ЛС | профиль | цитата
sashaoli, Восьмерку и выше не определит, код компонента не поддерживает
карма: 22

0
Ответов: 195
Рейтинг: 1
#6: 2014-08-31 17:20:43 ЛС | профиль | цитата
задача определять windows xp? windows 7 или выше, и разрядность 32 или 64.

если реализовывать с предложеным компонентом, я не предстявляю как.
я ведь не могу на разных компах с разными системами попробовать что выдает компонент.
да и наверное надо писать тогда небольшой парсер. но как писать не зная, какой текст будет на разных компах.


может есть какие хитрости? может где в реестре прописано какая операционка?

да вопрос по прогрессбару остается открытым
карма: 0

0
Ответов: 8930
Рейтинг: 823
#7: 2014-08-31 18:26:00 ЛС | профиль | цитата
nesco, и обязательно определение виртуальной машины и её ОС
карма: 19

0
Ответов: 1343
Рейтинг: 31
#8: 2014-08-31 18:36:10 ЛС | профиль | цитата
z80 писал(а):
может есть какие хитрости? может где в реестре прописано какая операционка?


определение операционки и битности, Windows Unknown определяется как восьмёрка

code_34211.txt
карма: 2

0
файлы: 1code_34211.txt [2.2KB] [239]
Ответов: 195
Рейтинг: 1
#9: 2014-08-31 19:03:45 ЛС | профиль | цитата
а как определяется XP? может просто по фразе XP попробовать? блин тестить не на чем виртуальную машину ставить придется
карма: 0

0
Ответов: 1343
Рейтинг: 31
#10: 2014-08-31 19:07:24 ЛС | профиль | цитата
z80 писал(а):
а как определяется XP? может просто по фразе XP попробовать? блин тестить не на чем виртуальную машину ставить придется


да что ж за человек, написали же выше компонент который в схеме, не определяет только восьмёрку , остальное определяется как положено!!!

схема приведённая выше должна работать 100%, такая связка и данный мультик проверены на более 1000 компьютерах...

хотя когда выйдет Windows 9 то уже схемка определения оси работать не будет
карма: 2

0
Ответов: 824
Рейтинг: 138
#11: 2014-09-01 02:32:46 ЛС | профиль | цитата
z80 писал(а):
а как определяется XP? может просто по фразе XP попробовать? блин тестить не на чем виртуальную машину ставить придется

Operating systemVersion numberdwMajorVersiondwMinorVersion
Windows 8.16.3*63
Windows Server 2012 R26.3*63
Windows 86.262
Windows Server 20126.262
Windows 76.161
Windows Server 2008 R26.161
Windows Server 20086.060
Windows Vista6.060
Windows Server 2003 R25.252
Windows Home Server5.252
Windows Server 20035.252
Windows XP Professional x64 Edition5.252
Windows XP5.151
Windows 20005.050

------------ Дoбавленo в 21.29:
Проверка платформы Windows
Add(MainForm,2953706,231,182)
{
Height=102
Caption="Check the Widows platform"
link(onCreate,2383020:doEvent1,[])
}
Add(EnvVars,9602257,315,189)
{
Name="ProgramFiles(x86)"
Point(doGet)
Point(onGet)
link(onGet,2663107:doValue,[])
AddHint(-39,-54,98,13,Name)
}
Add(If_else,225603,364,245)
{
Type=5
Op2=String()
link(onTrue,11230536:doData,[])
link(onFalse,1183322:doData,[])
link(Op1,2663107:Value,[])
}
Add(DoData,11230536,441,245)
{
Data=String(Программа запущена на х64 системе)
link(onEventData,13793632:doWork2,[])
}
Add(DoData,1183322,420,252)
{
Data=String(Программа запущена на х86 системе)
link(onEventData,13793632:doWork3,[(515,258)])
}
Add(Label,7883768,546,245)
{
Left=15
Top=15
Height=28
Font=[MS Sans Serif,15,0,0,1]
}
Add(HubEx,13793632,511,245)
{
link(onEvent,7883768:doText,[])
}
Add(Hub,2383020,280,196)
{
link(onEvent1,9602257:doGet,[])
link(onEvent2,225603:doCompare,[(305,209)(305,251)])
}
Add(Memory,2663107,364,196)
{
Default=String()
}
------------ Дoбавленo в 01.17:
Типа - прогресс-бар на иконке...
Add(MainForm,2953706,399,133)
{
Height=165
Caption="Пример использования IconGraph"
Point(doIcon)
link(onCreate,2299473:doAddTrayIcon,[(438,153)(438,125)])
}
Add(IconGraph,10342315,294,112)
{
Sensit=1
Style=3
ChannelsBar=0
MidColor=65280
MaxColor=65280
link(onIconGraph,1622501:doEvent1,[])
}
Add(Edit,576515,238,112)
{
Left=40
Top=85
Text="0"
link(onChange,10342315:doPosition1,[])
}
Add(ProgressBar,13726186,189,119)
{
Left=35
Top=55
Width=310
Smooth=1
ProgressColor=12639424
}
Add(TrackBar,12474913,105,112)
{
Left=30
Top=25
Width=315
Max=100
link(onPosition,3911145:doEvent1,[])
}
Add(Hub,3911145,161,112)
{
link(onEvent1,576515:doText,[])
link(onEvent2,13726186:doPosition,[])
}
Add(TrayIcon,2299473,455,98)
{
Point(doAddTrayIcon)
}
Add(Hub,1622501,336,112)
{
link(onEvent1,2299473:doIcon,[])
link(onEvent2,2953706:doIcon,[(361,125)(361,167)])
}
------------ Дoбавленo в 02.32:
"Ищо" прогресс-бар на иконке
Add(MainForm,2953706,567,161)
{
Width=381
Height=140
Caption="Прогресс-бар на иконке"
Point(doIcon)
link(onCreate,5219806:doAddTrayIcon,[])
}
Add(AlphaBitmap,13970241,357,91)
{
HWidth=32
HHeight=32
FillColor=16777215
Point(doCreate)
Point(onCreate)
}
Add(GProgressBar,14328117,224,161)
{
Left=25
Top=65
Width=320
}
Add(TrackBar,13294378,133,147)
{
Left=25
Top=30
Width=325
Max=100
link(onPosition,13674949:doEvent1,[])
}
Add(Img_Gradient,1010168,308,154)
{
Point1=655362
Frame=1
FrameColor=1684625184
StartColor=65535
EndColor=255
Point(Point2)
link(onDraw,12377869:doDraw,[])
link(Bitmap,1855952:Var1,[(314,138)])
}
Add(MathParse,10315024,266,154)
{
MathStr="(22 * 65536) + ((31/100)*%1)"
ResultType=0
link(onResult,1010168:doDraw,[])
}
Add(Hub,13674949,182,147)
{
OutCount=4
link(onEvent1,13970241:doCreate,[(207,153)(207,111)])
link(onEvent2,10315024:doCalc,[])
link(onEvent3,14328117:doPosition,[])
link(onEvent4,8708600:doStrCat,[(214,174)(214,230)])
}
Add(DoData,14743081,483,189)
{
link(onEventData,6742088:doEvent1,[])
link(Data,128578:Icon,[])
}
Add(GetDataEx,1855952,357,133)
{
link(Data,13970241:Bitmap,[])
}
Add(Resize,14693580,406,154)
{
Width=16
Height=16
HalfTone=1
link(onResult,6464363:doEvent1,[])
link(Bitmap,1855952:Var3,[(412,138)])
}
Add(Icon,128578,483,140)
{
Point(doLoadFromBitmap)
}
Add(Hub,6464363,448,154)
{
link(onEvent1,128578:doLoadFromBitmap,[])
link(onEvent2,14743081:doData,[(474,167)(474,195)])
}
Add(Hub,6742088,539,189)
{
link(onEvent1,2953706:doIcon,[])
link(onEvent2,5219806:doIcon,[(606,202)(606,174)])
}
Add(TrayIcon,5219806,623,154)
{
Point(doAddTrayIcon)
}
Add(Img_Rectangle,12377869,357,154)
{
Point1=65537
Point2=2097184
rX=5
rY=5
Color=536870911
link(onDraw,14693580:doResize,[])
link(Bitmap,1855952:Var2,[])
}
Add(StrCat,8708600,231,224)
{
Str2=" % Прогресс-бар на иконке"
link(onStrCat,2953706:doCaption,[(539,230)(539,167)])
}
карма: 1

1
Голосовали:z80
Ответов: 195
Рейтинг: 1
#12: 2014-09-01 16:37:10 ЛС | профиль | цитата
sashaoli, супер, как раз то, что надо.)))))

блин мне все больше нравится хайасм. я не думал, что среда визуального программирования имеет такие возможности.
------------ Дoбавленo в 14.29:
Rysik, код определяет XP. но я имел в виду то, определить пол беды а идентифицировать проблема.
код определяет и выдает в тексте операционку. но не зная заранее какой текст будет на ХР, я не смогу ее определить.
вот стои т задача внести изменение в реестр но при условии, что программа запущена на ХР.

но судя по вышевыложенному списку, достаточно вставить проверку в полученном тексте фразы "Windows XP"
------------ Дoбавленo в 15.03:
а IconGraph может рисовать бар на картинке? а то затирает ее ((((
хочется прямо на иконке программы рисовать бар
------------ Дoбавленo в 16.37:
да вот еще а как координаты то задаются, убей не пойму их формат point1 point2 и т д


карма: 0

0
Ответов: 824
Рейтинг: 138
#13: 2014-09-01 17:00:07 ЛС | профиль | цитата
z80 писал(а):
но судя по вышевыложенному списку, достаточно вставить проверку в полученном тексте фразы "Windows XP"
не нужно проверять фразу "Windows XP", а нужно проверить MajorVersion и MinorVersion:
------------------------------------------------------------------
Если (MajorVersion & MinorVersion)= 51
Tогда "Это ХР"
Иначе "Это НЕ ХР"
КонецЕсли:
------------------------------------------------------------------
------------ Дoбавленo в 16.51:
z80 писал(а):
да вот еще а как координаты то задаются, убей не пойму их формат point1 point2 и т д

Y * 65536 + X
------------ Дoбавленo в 16.53:
Или компонент:
Add(PointXY,6428150,343,336)
{
}
------------ Дoбавленo в 17.00:
Пример "записи" в реестр:
Add(MainForm,2953706,91,77)
{
}
Add(ComputerInfo,8518697,154,77)
{
WinInfoMask="%M%m"
AddHint(53,-24,48,13,WinInfoMask)
}
Add(Button,12480912,84,140)
{
Left=35
Top=30
link(onClick,14864906:doCompare,[])
}
Add(If_else,14864906,175,140)
{
Op2=Integer(51)
link(onTrue,15669222:doMessage,[])
link(onFalse,9913461:doMessage,[])
link(Op1,8518697:WinInfo,[])
AddHint(57,-35,27,13,Op2)
}
Add(Message,15669222,294,140)
{
Message="Это ХР
Записать в реестр"
Icon=4
}
Add(Message,9913461,245,147)
{
Message="Это НЕ ХР
Записывать не надо!"
Icon=4
}

карма: 1

0
Разработчик
Ответов: 26164
Рейтинг: 2127
#14: 2014-09-02 00:29:42 ЛС | профиль | цитата
z80 писал(а):
хочется прямо на иконке программы рисовать бар


Вот. Где-то уже делали, но не нашел, давно было. Сделал по-новой -- progressbar_in_taskbar.sha
Работает системная отрисовка прогресса на иконках в ОС от Висты и выше, и только для иконки всего приложения в панели задач.
карма: 22

1
файлы: 1progressbar_in_taskbar.sha [9KB] [353]
Голосовали:sashaoli
Ответов: 195
Рейтинг: 1
#15: 2014-09-02 12:46:56 ЛС | профиль | цитата
не могу разобраться.
code_34229.txt
вот при старте по идее должен прогресс рисовать а не хочет.
карма: 0

0
файлы: 1code_34229.txt [7KB] [202]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)