h = FindWindow_("ProgMan", 0);
h = GetWindow_(h, #GW_CHILD);
PostMessage_(h, #WM_KEYDOWN, #VK_F5, 0);Этот код нажимает на F5, а с CapsLock почему то не пролезает... Как можно нажать программно на эту клавишу?
PureBasic - форум |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » PureBasic - форум » Вопросы по PureBasic » Вопросы новичка
h = FindWindow_("ProgMan", 0);
h = GetWindow_(h, #GW_CHILD);
PostMessage_(h, #WM_KEYDOWN, #VK_F5, 0);Этот код нажимает на F5, а с CapsLock почему то не пролезает... Как можно нажать программно на эту клавишу?
А так ?
Procedure CreateSkrinAll()
keybd_event_(#VK_CAPITAL, 0,0,0)
Delay(150) ; пауза между нажали/отпустили
keybd_event_(#VK_CAPITAL,0,#KEYEVENTF_KEYUP,0)
EndProcedure
OpenWindow(0, 0, 0, 100, 80, "Окно", #PB_Window_SystemMenu |#PB_Window_ScreenCentered )
HotKeysInit() ; Инициализация библиотеки HotKeys
HotKeyAdd(WindowID(0), #VK_F5, @CreateSkrinAll(), "SkrinAll", 0,0,0) ; Перехват кнопки f5
Repeat
Event=HotkeyWaitWindowEvent()
Until Event=#PB_Event_CloseWindowОтредактировано mirashic (30.09.2010 20:33:49)
Спасибо Олег! А пауза то зачем в процедуре, вроде и без нее нормально работает?
У меня эмуляция Ctrl+C без паузы не работает
А ну наверно там из-за того что сочетание из двух клавиш идет...
И еще один вопрос: Можно ли узнать как нибудь программно, физический CD_ROM или виртуальный?
Как можно нажать программно на эту клавишу
SimulateKeyPress(#VK_CAPITAL, 0, 0, 0, 0)
SimulateKeyPress(#VK_CAPITAL, 0, 0, 0, 0)
И за это спасибо.
Добрый вечер.
Помогите разобраться,
для работы программы нужен GIF файл, он лежит рядом с исполняемым файлом и всё прекрасно.
Как запихнуть его внутрь и с ним работать ?
Было-бы простое изображение - решается просто, а как быть с GIF ?
То есть, его надо запихнуть в exe, а во время работы изъять и получить абсолютный путь к нему.
Enumeration
#Window_0
#Web
EndEnumeration
;CatchImage(1, ?Im1, ?Im1End -?Im1 )
;FileName$="loading25.gif"
;Buffer$=Space(512)
;GetFullPathName_(FileName$,Len(Buffer$),@Buffer$,@FilePart)
;img$ = PeekS(@Buffer$)
OpenWindow (#Window_0, 0, 0, 380, 200,"Заглавие", #PB_Window_MinimizeGadget |#PB_Window_ScreenCentered)
WebGadget(#Web, 0,0,380,200,"")
img$ =GetCurrentDirectory()+"loading25.gif"
Html.s + "<style>"
Html.s + ".loading {padding-top: 10%;height: 600px;text-align: center;}"
Html.s + "</style>"
Html.s + "<div class='loading'><img src='"+img$+"' width='50' height='50' /></div>"
SetGadgetItemText(#Web, #PB_Web_HtmlCode, Html.s)
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_CloseWindow
Break
EndIf
ForEver
;DataSection
;Im1:
;IncludeBinary "loading25.gif"
;Im1End:
;EndDataSectionТо есть, его надо запихнуть в exe, а во время работы изъять и получить абсолютный путь к нему.
Не получается извлечь файл что-ли?
Не знаю как ?
If CreateFile(0,"Файл.gif") WriteData(0,?Im1, ?Im1End-?Im1) CloseFile(0) EndIf DataSection Im1: IncludeBinary "loading25.gif" Im1End: EndDataSection
Спасибо !
а как можно автоматически поставить что бы файлы скрытые не отображались.Заранее спасибо
У файлов и папок есть атрибут "Скрытый".
Вот его используй
я его и использую а вдруг у человека стоит в вид папки Показать скрытые файлы и тогда не подходит,вот я и спрашиваю как можно убратьс показывать на не показывать.
перепиши ОС или позвони Билл Гейтсу, а вообще в гугле такие вещи нужно искать
завтра с утра позвоню я думаю Билл уже освободится.=)
Он сказал что в новой OC всё исправит, сказал жди и ещё узнай как это сейчас можно сделать.
Добрый вечер.
Как отслеживать выделение текста на всём компьютере (в браузере, текстовом редакторе, и.т.д.) ?
Это для конкретного гаджета:
Enumeration
#Window_0
#Editor
#Timer
EndEnumeration
Procedure ProsWB()
SendMessage_(GadgetID(#Editor), #EM_GETSEL, @Min,@Max)
If Min<>Max
If Min<Max
xx=Max-Min
Else
xx=Min-Max
EndIf
lpText.s=Space(xx)
SendMessage_(GadgetID(#Editor), #EM_GETSELTEXT, #Null, @lpText)
Debug lpText
EndIf
EndProcedure
OpenWindow (#Window_0, 0, 0, 380, 200, "Заглавие", #PB_Window_MinimizeGadget |#PB_Window_MaximizeGadget|#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
EditorGadget(#Editor,10,10,360,180)
AddWindowTimer(#Window_0, #Timer, 100)
Repeat
Event = WaitWindowEvent()
Window = EventWindow()
Gadget = EventGadget()
Select Event
Case #PB_Event_Timer
ProsWB()
EndSelect
If Event = #PB_Event_CloseWindow
Break
EndIf
ForEverSendMessage(hWnd,Msg,wParam, lParam);
hWnd - Дескриптор окна, оконная процедура которого примет сообщение.
То есть, наверно надо перехватывать идентификатор активного окна, или как то по другому ?
Тут надо наверное определять идентификатор гаджета, над которым находится курсор:
GetCursorPos_(P.POINT) Handle=WindowFromPoint_(P\X|(P\Y<<32))
В принципе мне надо только регистрация выделения текста...
Отлеживаю нажатие левой кнопки и перемешение курсора.
Правда регистрирует и на пустом поле...
Global rez.l
Procedure ProsWB()
GetCursorPos_(P.POINT)
xx.l= P\X
If GetKeyState_(#VK_LBUTTON)>1
If rez.l<>xx
Debug "Выделели текст"
EndIf
EndIf
rez=xx
EndProcedure
OpenWindow (0,0,0,0,0, "Заглавие",#PB_Window_Invisible)
AddWindowTimer(0, 1, 100)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Timer
ProsWB()
EndSelect
ForEverРебят подскажите пожалуйста! Нужно забить в переменную неизвестный текст из файла! Известно что текст который нужен расположен между "<div><div id='news-id-" неизвестный текст "</div> </div>" знаю что это делается через FindString , пробовал , но ни чего это не дало! Если кто знает как это делается то помогите! 
Не пойму почему тебя не устраивает этот код..все отлично робит:
text.s="<div><div id='news-id-любой текст...</div></div>"
onetext.s=RemoveString(text, "<div><div id='news-id-")
finaltext.s=RemoveString(onetext, "</div></div>")
MessageRequester("",finaltext)В друпии есть функция:
Описание:
Возвращает строку между двумя строками
Пример:
MessageRequester("Between",Between("Droopy", "Dr", "py"))
а вообще не понял, что ты хочешь ?
Раньше все нормально вроде получалось поставить кнопку шаблоны на панель, а теперь ни в какую не хочет... Да и вообще панель инструментов не редактируется. Кто нибудь(у кого на панели есть что то свое установленное) пожалуйста скиньте файл настроек, ну или часть файла PureBasic.prefs он по адресу: C:\Users\имя пользователя\AppData\Roaming\PureBasic ( в семерке) в XP должно быть что то похожее.
Интересует пункт: [ToolbarNew]
Перевёл для себя друпию, не кому не надо ? (чисто гугловский перевод).
Оригинал весит 425 КБ а перевод 974 КБ ?
Примеры практически все рабочие, только синтаксис поменялся, с первого раза не запустятся...
У меня тоже в 4.41 - шаблон пропал...
В XP у меняhttp://www.mirashic.narod.ru/settings.prefs
Спасибо.
Не получается вообще с шаблоном, уже не один час сижу блин... Че то они намутили в новой версии.
| Вопросы новичка (продолжение…) | Вопросы по PureBasic | 29.06.2024 |
| Скорее, это теоретический вопрос о правах в директории. | OffTop | 16.09.2022 |
| Вопрос по отладке | Вопросы по PureBasic | 26.01.2017 |
| Три вопроса по созданию браузера. | Вопросы по PureBasic | 01.11.2010 |
| вопрос о точности типов данных | Вопросы по PureBasic | 20.05.2021 |
Вы здесь » PureBasic - форум » Вопросы по PureBasic » Вопросы новичка