|
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
|
|||||||||||
Обращение к другому рабочему столу20.10.2011, 16:47. Показов 3381. Ответов 8
Метки нет (Все метки)
Приветствую.
Знаете окошко Unlock Computer? Оно появляется после нажатия Ctrl + Alt + Del Enter. Окошко хорошее, да вот только одна проблемка - заслоняет оно фоту девушки прям по центру - не дело Решил его сдвинуть.По простому FindWindow не получилось. После выяснений узнал, что оно находится на другом рабочем столе - WinSta0Winlogon. Притом, чтобы обратиться к этому рабочему столу необходимо запускать свое приложение как службу. Ну да ладно - не беда. Поставил nnCron и через него запустил. Но все равно, толка никакого. На рабочий стол другой переходить не хочет. Код следующий:
Аналогичная программа, написанная на C сидящим рядом со мной человеком работает без проблем:
Когда делаю проверку на ошибки, то вижу, что в STD (STD = SetThreadDesktop(Desktop)) кладется ноль, соответственно функция выполнилась неправильно, судя по MSDN (If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError). Однако GetLastError тоже возвращает ноль! В чем моя ошибка?
0
|
|||||||||||
| 20.10.2011, 16:47 | |
|
Ответы с готовыми решениями:
8
Путь к рабочему столу Путь к рабочему столу Альтернатива рабочему столу |
|
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
|
|
| 20.10.2011, 17:00 [ТС] | |
|
Извиняюсь, опечатался.
Вместо Desktop = OpenDesktop("[bold]default[/bold] ", 0, False, GENERIC_ALL) на самом деле там Desktop = OpenDesktop("[bold]Winlogon[/bold] ", 0, False, GENERIC_ALL). Это уже потом после неудачи просто тестировали.
0
|
|
|
1 / 1 / 0
Регистрация: 25.05.2008
Сообщений: 232
|
|
| 23.10.2011, 08:44 | |
|
НЕмного не по теме
) Можно открыть девушку в фотошопе и сдвинуть ее чуть в право или влево )
0
|
|
|
Messir
|
||
| 23.10.2011, 12:56 | ||
![]() Да и какие-нибудь важные части тела терять не хочется... |
||
|
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
|
||
| 23.10.2011, 12:57 [ТС] | ||
и так, еще немного размышлений. Хотел еще в пятницу запостить, да времени не было ![]() Посидели мы часик с Comanche в аське и вот что поняли... Во-первых, ошибка действительно есть, но VB ее НЕ видит (в GetLastError). При помощи отладчика человек выловил, что ошибка появляется 170-я: 170 The requested resource is in use. ERROR_BUSY. Стали рыть дальше. Нашли следующее... "error code 170 means that your application still has opened windows/hooks on its previous desktop, a simple solution is to call SetThreadDesktop as early as possible, in the constructor of your app class, for example." И были удивлены - как это так... В программе нет НИ ОДНОЙ формы, а написано про какие-то окна и хуки. Думали, что может все-таки ошибка в правах доступа. Попробовали MAXIMUM_ALLOWED вместо GENERIC_ALL. Никакого результата. Стали искать скрытые окна.... и нашли две штуки... VBMsoStdCompMgr и ThunderRT6Main. После рытья в MSDN оказалось, что VB для любого проекта создает по два скрытых окна, необходимых для отлова виндовых сообщений: "VBFocusRT6 and VBMsoStdCompMgr are hWnds created by the Visual Basic runtime for Microsoft-proprietary Windows Messages related to the operation of the runtime. They cannot be removed, but receive very few messages anyways. ThunderRT6Main is the "parent" hWnd -- if a Visual Basic form existed, this hWnd would pass messages from the other two proprietary hWnds to the forms (and trap some that forms shouldn''t get). These three hWnds cannot be removed and do not provide any performance bottlenecks." Кильнуть их нельзя, т.к. без них ничего работать не будет. На другой десктоп их тоже нельзя перенести. В результате пришли к выводу, что на VB это можно сделать только путем мультитрединга, т.к. первый тред изначально является неподходящим, т.к. в нём изначально ("автоматом") уже есть те самые два скрытых окна. Будем надеяться, что эта информация кому-нибудь пригодится ![]() [italic]С уважением, Alexey Spirin & Comanche.[/italic]
0
|
||
|
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
|
|
| 23.10.2011, 15:23 | |
|
а флажок Unattended Execution не пробовали на своем экзешничке без формочек ставить?
0
|
|
|
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
|
|
| 23.10.2011, 16:04 [ТС] | |
|
Попробовал. Не помогает
0
|
|
|
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
|
|
| 23.10.2011, 16:54 | |
|
видно VB для таких низкоуровневых вещей не совсем подходит
0
|
|
|
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
|
|
| 23.10.2011, 17:14 [ТС] | |
|
ну по всей видимости да... )
Вот думаю может мультитредингом попробовтаь заняться в свободное время... )
0
|
|
| 23.10.2011, 17:14 | |
|
Помогаю со студенческими работами здесь
9
Доступ к Рабочему столу
Подключением к удаленному рабочему столу Перемещение грида по рабочему столу Поиск пути к рабочему столу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во
всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
|