|
1127 / 261 / 9
Регистрация: 11.06.2010
Сообщений: 1,049
|
|
Framework & WinAPI. случаи "неподчинения"18.07.2010, 14:11. Показов 2896. Ответов 23
Метки нет (Все метки)
Вобщем,суть темы: есть VB.NET(хотя тоже самое творится во всех продуктах .net старше версии 2.0)
есть Win7 или Vista. есть программа,включающая в себя Api-функции. итог выполнения этой программы: куча ошибок, т.к винда не отдаёт запрашиваемую инфу или же не записывает её в память. Случай выполенения на WinXP завершается успешно,но вот как быть с семёркой и вистой? вопрос: что не даёт программе норм использовать АПИ и как это исправить? думаю,не у одного меня возникала(ет) такая проблема и кто-нибудь всяко,но знает решение. Господа ЗНАЮЩИЕ и ЗНАКОМЫЕ с данной проблемой,плиз,отпишитесь Всем ответившим огромное СПС))))
0
|
|
| 18.07.2010, 14:11 | |
|
Ответы с готовыми решениями:
23
Как заблокировать сочетание клавиш в C++ && WinApi query='SELECT * FROM resume WHERE ' & ''' & RecSet('place')& ''' & '=' & '''& s_loc &''' & - что не так? error '80020009' Îøèáêà. /lalala/profile.asp, line 28 |
| 18.07.2010, 14:37 | |
|
Не по теме: Смешивать управляемый код с неуправляемым.... :D
0
|
|
|
192 / 190 / 15
Регистрация: 27.01.2009
Сообщений: 548
|
|
| 18.07.2010, 16:02 | |
|
-смотри что за апи функции используешь. потом ищи их в msdn. читай что для них требуется. там так и написано- минимум виндовс такойто. известно например, что GetPrivateProfileString( работа с ini файлами) уже при 98 виндовсе считалась отмирающей функцией( оставленной только для совместимости).
-по слухам в семерке( уже ненавижу этот виндовс, хотя и не видел) программа не может писать в каталог, где она и лежит. судя по словам, исходник у вас имеется. можете проверить сие мое утверждение. -отладчик никто не отменял.
0
|
|
|
1127 / 261 / 9
Регистрация: 11.06.2010
Сообщений: 1,049
|
|
| 18.07.2010, 16:08 [ТС] | |
|
СПС.попробую
0
|
|
|
23 / 23 / 7
Регистрация: 30.01.2009
Сообщений: 103
|
|
| 19.07.2010, 18:02 | |
|
скорей всего для этих функций нужны права администратора
0
|
|
|
1127 / 261 / 9
Регистрация: 11.06.2010
Сообщений: 1,049
|
|
| 21.07.2010, 11:53 [ТС] | |
|
Alex90,Умнее я ничё не читал
Я АДМИНИСТРАТОР у меня права АДМИНИСТРАТОРА и программа запускается с пометкой ОТ ИМЕНИ АДМИНИСТРАТОРА. и про какие ты права говоришь?
0
|
|
|
23 / 23 / 7
Регистрация: 30.01.2009
Сообщений: 103
|
|
| 21.07.2010, 16:22 | |
|
я не экстрасенс и о том что ты запускаешь программу ОТ ИМЕНИ АДМИНИСТРАТОРА не где не упоминалось. Так как на ХР большинство пользователей используют права админа изначально, а не семерке программа нужно дать добро для этих самих прав. Вот по этому я и предположил что программе не хватает полномочий
0
|
|
|
1127 / 261 / 9
Регистрация: 11.06.2010
Сообщений: 1,049
|
|
| 25.07.2010, 12:19 [ТС] | |
|
Извиняюсь,что так с ходу наехал((( просто если человек является программером,то я не думаю,что он может ступить и свою программу на полномочия урезать
0
|
|
|
CEO
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
|
|||
| 25.07.2010, 22:50 | |||
|
спокойно использую pinvoke в Seven - пока глюков никаких. Мож антивирь?
0
|
|||
|
1127 / 261 / 9
Регистрация: 11.06.2010
Сообщений: 1,049
|
|
| 27.07.2010, 11:27 [ТС] | |
|
а опиши,плиз,характер системы(ver Win & antivir),а ещё номер framework'а.
прост надоело уже в урезанном режиме пользоваться((((
0
|
|
|
1127 / 261 / 9
Регистрация: 11.06.2010
Сообщений: 1,049
|
|
| 02.08.2010, 21:51 [ТС] | |
|
попробовал переписать в файле проекта назначение и определение прав
прога запускается в административном режиме с полным доступом к ФС,ВП(видео),ИНЕТ и т.д. но ВинАПИ по-прежнему отказывается отдавать мне данные(например,позицию курсора)
0
|
|
|
3 / 3 / 0
Регистрация: 15.08.2010
Сообщений: 15
|
|
| 15.08.2010, 22:52 | |
|
У меня была проблема не выполнения АПИ-функций. Но оказалось, что новые компиляторы типы long, например, понимают как 8-байтовые, а для АПИ оказалось, естественно, нужно их заменить на int.
0
|
|
|
1127 / 261 / 9
Регистрация: 11.06.2010
Сообщений: 1,049
|
|
| 16.08.2010, 12:29 [ТС] | |
|
эту идею я поробую))спасиб)) но ведь функция GetWindowText отдаёт не long, а string. точнее,не отдаёт,хотя весь инет обегал и понял,что это не в моих кривых руках дело. это нужно,так как координаты я могу узнать и,воспользовавшись стандартными функция фрэймворка,а вот тексты и классы фрэймворк мне из чужих окон точно не вытащит
![]() Добавлено через 9 минут сейчас посмотрел и увидел одну интересную вещь: в APIGen все long'и итак заменены на string'и,поэтому этот вариант в моём случае битый. Кстати,вот ещё тут недавно обнаружил один факт: изменяющие функции(например:SetWindowText,setCursor Pos,setClipboardData и т.п.) работают,как часы,а вот функции читающие(Get******** и всё,что с этим связано) не работают.Хотя,запустив NvidiaDesktopManager и попробовав определить через него класс окна,получил нужный результат. Из этого следует,что,реально,что-то уже сам framework мудит. У кого есть варианты?
0
|
|
|
3 / 3 / 0
Регистрация: 15.08.2010
Сообщений: 15
|
||||||
| 16.08.2010, 14:05 | ||||||
|
Ну почему? Что касается функции GetWindowText все в Visual Studio 2008 работает.
Посмотрите пример.
1
|
||||||
|
1127 / 261 / 9
Регистрация: 11.06.2010
Сообщений: 1,049
|
||||||
| 17.08.2010, 22:01 [ТС] | ||||||
|
Замену GetCursorPos я уже нашёл в самом фрэймворке,а насчёт остальных Get*********-подобных понял свою ошибку. У меня для String'а в определении задавался просто nothing без размера,поэтому он и не отдавал текст. СПС за пример))))))))
Добавлено через 30 минут Ну,что же,текст я вытащил,имя класса тоже,на радостях попытался считать сообщение
0
|
||||||
|
Почетный модератор
|
|
| 17.08.2010, 22:10 | |
|
Ну во первых WindowFromPoint возвращает IntPtr, т.е. HANDLE.
Во вторых WindowFromPoint объявлена не так. Скорее всего GetCursorPos тоже. В третьих советую заглянуть на PInvoke и смотреть объявления на MSDN. P.S. hWnd, lParam, wParam тоже должны быть IntPtr.
0
|
|
|
1127 / 261 / 9
Регистрация: 11.06.2010
Сообщений: 1,049
|
|
| 17.08.2010, 22:19 [ТС] | |
|
А кто написал,что WindowFromPoint не отдаёт хэндл? отдаёт))) а с IntPtr сща попробую
Добавлено через 4 минуты ГГ Ответ от программы в моём переводе: жопа![]() intPtr и integer не отличаются по сути своей))
0
|
|
|
Почетный модератор
|
||
| 17.08.2010, 22:48 | ||
|
Какие API не работают, список пожалуйста. Добавлено через 16 минут И какая цель программы. Если не top secret.
0
|
||
|
3 / 3 / 0
Регистрация: 15.08.2010
Сообщений: 15
|
|
| 17.08.2010, 23:43 | |
|
Во-первых, функция WindowFromPoint имеет не 2 аргумента, а один. В качестве аргумента в нее передается структура POINT, которая состоит из двух значений.
Во-вторых, действительно непонятно что вы хотите чтобы эта программа делала? Если просто создать окно, то это делается намного проще. Посмотрите как это делает мастер при создании виндового проекта. Но можно еще проще, можно создать окно вообще парой строк.
0
|
|
|
1127 / 261 / 9
Регистрация: 11.06.2010
Сообщений: 1,049
|
|
| 20.08.2010, 12:57 [ТС] | |
|
Ну, окно и я могу парой строк на чистом vb создать и отследить в нём действия без применения API. но это относится лишь к моим окнам,сделанных моим процессом,но фрэймворк,как бы его ни насиловал,не даст контроль над окнами чужих процессов. А мне нужен этот контроль хотя бы для того,чтобы отслеживать действия мыши в чужих окнах и,например,при двойном щелчке вытаскивать из окна(любой тип) текст и сливать его в буфер обмена,а то так иногда бесит переписывать тексты ошибок(это к примеру,а так большое применение можно найти). И,вот ещё,по поводу WindowFromPoint.
Она содержит два аргумента: xPoint & yPoint(screensave внизу).Не знаю,как у вас,а у меня именно такая структура работает))) И,вот ещё,integer & IntPtr у меня конвертируются отлично,не знаю,как у вас. Ну,так что,кто нибудь может сказать,в чём проблема,если на сей раз не в моих руках? И ещё,я посмотрел норм аргументы в MSDN для GetMessage и там значится указатель в памяти на структуру MSG мою. Так вот,я подумал,что,может именнго MSG не так объявлен и из-за этого API не может записать в него данные,так как сигмент в том месте почему-то лочится. Кто-нибудь может что-то типа моего отписать,но где обязательно используется GetMessage и MSG? нужно проверенный пример,а не сходу написанный
0
|
|
| 20.08.2010, 12:57 | |
|
Помогаю со студенческими работами здесь
20
Помогите найти драйвера для pci\ven_8086&DEV_266E&SUBSYS_A002145&REV_05\3&13C0B0C5&0&F2 Мультимедиа контролер PCI\VEN_14F1&DEV_8800&SUBSYS_EA3D14F1&REV_05\4&25700A26&0&3020 Нужен драйвера, код PCI\VEN_1039&DEV_7012&SUBSYS_0C98105B&REV_A0\3&B1BFB68&0&17 немогу найти драйвера на PCI\VEN_1039&DEV_7012&SUBSYS_810D1043&REV_A0\3&61AAA01&0&17 Simple WinAPI framework Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|