VB (софт со стороны пк)

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Сообщение Modest »

Предлагаю в эту тему писать с вопросами по vb

И у меня вопрос возник : Как в VB 2010 узнать дескриптор любого окна? Перерыл уже инфы..
пробовал и от 6 vb, нифига корректно не работает.
Нашёл код для 2010 студии (он самый распространённый, чаще всего везде выскакивает), используется функция FindWindow (ну например вот http://support.microsoft.com/kb/242308/ru)
но он не работает, точнее он .... вообщем он постоянно возвращает разный дескриптор при каждом вызове FindWindow

кто нить, у кого есть какие либо исходники для 2010 vb где используется какая либо функция получения дескриптора, выложите плиз..
вот как то так разплывчато..
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Modest писал(а):используется функция FindWindow
Я ее тоже юзаю и нормально работает. Во вложении прога, определяющая хендл окна диспетчера задач винды.

PS.
А вот в чем прикол ручями объявлять API винды и вызывать их из управляемого кода если есть среды (инструменты) более подходящие для этого?
Ну не понимаю я?
Вложения
FindWindow.rar
(1.39 КБ) 248 скачиваний
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Сообщение Modest »

а исходники не подкинете?
или ссыль..
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Modest писал(а):а исходники не подкинете?
Исходник не на VB, а на другом бейсике.
Поэтому и не выкладывал, ведь здесь VB обсуждается.
Я всего лишь показал что FindWindow работает и проблема не в ней.
Вот весь огромный и черезвычайно запутанный исходник:

Код: Выделить всё

hWnd = FindWindow_(0, "Диспетчер задач Windows")
MessageBox_(0, Str(hWnd), "Дескриптор диспетчера задач", 64)
Реклама
Эиком - электронные компоненты и радиодетали
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Сообщение Modest »

спасибо. но то что есть такой код и то что он должен работать я знаю, мне от этого не легче
я не отрицаю что я могу что то не так делать т. к. в программировании я не силён, по этому и просил по возможности исходник
ещё варианты есть?
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Сообщение Modest »

мля, три вечера парился с этим говнокодом, оказывается для семёрки нужно сменить тип переменной на Integer....
ааа, так и хочется написать слово пи.... :kill:
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Modest писал(а):ещё варианты есть?
Я выше уже писал - инструмент выбирается по типу задачи.
Если юзать WinAPI в управляемом .NET коде, то возможны такие вот "приятные неожиданности".
Modest писал(а):оказывается для семёрки нужно сменить тип переменной на Integer....
Вообще-то, функции FindWindow нужно указатели на две строки передавать, а не переменные типа Integer.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Сообщение Modest »

я про вот эту часть
Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Сообщение Modest »

Господа хвостатые программисты как средствами vb проверить наличие новых писем в ящике??
Кто нить в курсе? Облазил кучу страниц, не нашё вообще ничего...
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Modest писал(а):Господа хвостатые программисты как средствами vb проверить наличие новых писем в ящике??
Есть код на PB, если что....
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Сообщение Modest »

нее, мне надо для vb
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
Грызет канифоль
Сообщения: 265
Зарегистрирован: Чт янв 21, 2016 11:34:56

Сообщение Бобочек »

У меня есть задача связать по USB контроллер PIC16F1455. Со стороны контроллера и схемотехники вроде все понятно. Обсуждение по теме форума как мне кажется не дает ответа даже на простые вопросы по примеру текста на VB.net. Рысканье по литературе для VB.net не дало результата (про СОМ порт что-то есть, даже есть мысль, что для получения/отправки данных нет разницы с USB). Неужели все так плохо и никто не написал нормальной для дилетанта статейки ?
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Со стороны компа каким USB устройством видится PIC16F1455?
Грызет канифоль
Сообщения: 265
Зарегистрирован: Чт янв 21, 2016 11:34:56

Сообщение Бобочек »

Я пока в стадии теории (в тумане), есть PIC16F1455, то есть поддержка usb1.0 High-Low, на ПЭВМ usb2.0, но это вроде только проблема быстродействия. Программку на ассемблере для PIC16F1455 пока не писал, так что как меня увидят не знаю (может как HID устройство по Р2010 №3-р.25 Суров). Как вести диалог в VB.net тоже каша - через API вроде все можно сделать, но многие говорят, что можно более просто, но не одного примера не нашел.
Мучитель микросхем
Аватара пользователя
Сообщения: 416
Зарегистрирован: Пт апр 29, 2011 17:22:38
Откуда: Опорный край Державы

Сообщение Men1 »

Мурик писал(а):
Modest писал(а):Есть код на PB, если что....
А не поделитесь кодом?
Давно видает идея на PB почтовый клиент увидеть....дык нет такого наверно
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Код определяет сколько писем в постовом ящике.

Код: Выделить всё

Server.s = "my.server.de"
Port.l = 110
User.s = "gnozal"
Pwd.s = "mypass"
;
If PurePOP3_OpenPOP3Connection(Server, Port, User, Pwd) = #PurePOP3_Ok
   Debug "Connected"
   ; PurePOP3_Trace(#TRUE)
   Messages = PurePOP3_CountMessages()
   Debug "В ящике " + Str(Messages) + " писем"
   PurePOP3_ClosePOP3Connection()
Else
   Debug PurePOP3_GetLastServerMessage()
EndIf
Нужна библиотека PurePOP3.
Грызет канифоль
Сообщения: 265
Зарегистрирован: Чт янв 21, 2016 11:34:56

Сообщение Бобочек »

Жаль, что тема вильнула в сторону. То есть VB.net - usb это тупик ?
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Бобочек писал(а):То есть VB.net - usb это тупик ?
USB HID?
Нет не тупик. ftp://ftp.radio.ru/pub/2011/04/HID_Lib_Plus.zip
Код в папке "Примеры\x86 (32 бита)\VB.NET 2008".
Грызет канифоль
Сообщения: 265
Зарегистрирован: Чт янв 21, 2016 11:34:56

Сообщение Бобочек »

Для начинающего трудно перевести из PureBasic и Atmega в PB.net и PiC, кроме того, отзывы о работоспособности этой dll весьма противоречивы. Хотелось бы средствами языка PB.net создать хотя бы простое общение по usb, но в книжках чего только нет о переменных, функциях, структурах, рисовании графики и т.д. но общение с внешним миром (контроллером, датчиком ...) остается за скобками. Понимаю, что надо что-то изучить, но что и где ?
Ответить

Вернуться в «Интеграция с ПК»