35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
|
|||||||||||
1 | |||||||||||
Как передать HWND параметром через ShellExecute?03.12.2015, 22:28. Показов 1738. Ответов 36
Метки нет Все метки)
(
Приветствую.
Как передать HWND параметром через ShellExexute? Передаю так:
0
|
|
03.12.2015, 22:28 | |
Ответы с готовыми решениями:
36
Как передать параметры через ShellExecute - C++ Как передать в ShellExecute 2 аргумента в кавычках? Как в ShellExecute передать несколько параметров? ShellExecute с параметром |
7528 / 6393 / 2914
Регистрация: 14.04.2014
Сообщений: 27,852
|
|||||||||||
03.12.2015, 23:10 | 2 | ||||||||||
1
|
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
|
|||||||||||
03.12.2015, 23:28 [ТС] | 3 | ||||||||||
nmcf, HANDLE и HWND не подходит для to_wstring()
Попробовал это
Добавлено через 4 минуты nmcf, может проблема в другом. В общем суть в том, чтобы отправить этому окну сообщение. Т.е. я принимаю hwnd и отправляю сообщение так:
0
|
7528 / 6393 / 2914
Регистрация: 14.04.2014
Сообщений: 27,852
|
||||||
03.12.2015, 23:32 | 4 | |||||
1
|
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
|
||||||
03.12.2015, 23:38 [ТС] | 5 | |||||
nmcf, так лучше, спасибо. Но сути это не изменило, проблема та же
Добавлено через 33 секунды Вот здесь должно быть получено сообщение:
0
|
7528 / 6393 / 2914
Регистрация: 14.04.2014
Сообщений: 27,852
|
|
03.12.2015, 23:39 | 6 |
Какая проблема-то? HWND - указатель. Ты видишь его шестнадцатеричное значение в строке, т. е. он передаётся в программу через ShellExecute?
1
|
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
|
|
03.12.2015, 23:42 [ТС] | 7 |
nmcf, я sscanf заменил на sscanf_s, т.к. мой компилятор ругается что функция sscanf не надежная.
Добавлено через 49 секунд nmcf, да, передается. И принимается то значение, которое я вижу в дебагере у переменной os_updater_hwnd. Добавлено через 1 минуту nmcf, проблема в том что не приходит окну сообщение WM_COPYDATA
0
|
7528 / 6393 / 2914
Регистрация: 14.04.2014
Сообщений: 27,852
|
|
03.12.2015, 23:47 | 8 |
Во-первых, ты не правильно передаёшь это сообщение: https://msdn.microsoft.com/en-... 85%29.aspx
1
|
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
|
||||||||||||||||
04.12.2015, 10:47 [ТС] | 9 | |||||||||||||||
nmcf, cделал так:
Добавлено через 1 час 9 минут Получил hwnd окна таким образом:
Получается 2 недочета в программе. 1. Не правильная переменная updater_hwnd. 2. Не правильно передаются данные. Помогите) Добавлено через 15 минут Всё работает если получать так:
0
|
7528 / 6393 / 2914
Регистрация: 14.04.2014
Сообщений: 27,852
|
|||||||||||
04.12.2015, 12:56 | 10 | ||||||||||
![]() Решение
Проверил у себя. Всё передаётся:
1
|
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
|
|||||||||||
05.12.2015, 13:34 [ТС] | 11 | ||||||||||
nmcf, я так и не разобрался вот с чем.
Не могу правильно передать и принять HWND. С помощью
Помогите) Добавлено через 21 минуту nmcf, надо было передавать так:
0
|
7528 / 6393 / 2914
Регистрация: 14.04.2014
Сообщений: 27,852
|
|
05.12.2015, 13:43 | 12 |
Можно и через string сделать, главное одинаково чтобы было с обеих сторон.
1
|
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
|
||||||
05.12.2015, 14:56 [ТС] | 13 | |||||
nmcf, а еще подскажите, как создать TCHAR динамически?
Вот я делаю так:
0
|
7528 / 6393 / 2914
Регистрация: 14.04.2014
Сообщений: 27,852
|
|
05.12.2015, 14:59 | 14 |
Скобки квадратные сделай.
1
|
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
|
|
05.12.2015, 15:54 [ТС] | 15 |
nmcf, куда только я не поставил квадратные скобки) Не понимаю
Добавлено через 47 минут Не получается(
0
|
7528 / 6393 / 2914
Регистрация: 14.04.2014
Сообщений: 27,852
|
||||||
05.12.2015, 15:56 | 16 | |||||
1
|
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
|
||||||
05.12.2015, 15:58 [ТС] | 17 | |||||
nmcf, Parameters это string
0
|
7528 / 6393 / 2914
Регистрация: 14.04.2014
Сообщений: 27,852
|
|
05.12.2015, 16:18 | 18 |
Тогда +1. Проще описать простой массив без динамического выделения. 10 символов хватит под HWND.
1
|
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
|
||||||
05.12.2015, 17:34 [ТС] | 19 | |||||
nmcf, просто параметров будет больше чем HWND. +1 не помогает
0
|
7528 / 6393 / 2914
Регистрация: 14.04.2014
Сообщений: 27,852
|
||||||
05.12.2015, 17:45 | 20 | |||||
Даже если их больше, можно хоть на килобайт массив описать.
Я не пойму смысл твоего фрагмента. HWND - указатель. Если ты хочешь преобразовать его средствами ostringstream, то тебе не нужен sprintf(), а если хочешь sprintf(), то незачем предварительно преобразовывать в string.
1
|
05.12.2015, 17:45 | |
Помогаю со студенческими работами здесь
20
Как осуществить через WinExec или ShellExecute копирование файла через cmd? Как передать параметром FlexGrid ? Как передать программе на паскале параметром... Как в процедуру передать параметром AdoQuery? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |