Что нового

[Окна, Диалоги] Проблема с посылаемыми окну символами

sem191162

Новичок
Сообщения
7
Репутация
0
Посылаю в окно символы
Код:
local $sstr = "C:" & $path & $img & "{ENTER}"


вижу выводит "C;\temp\..."

Почему выводится ";", если я посылаю ":" ?

Какие еще танцы с бубном надо станцевать?
 

joiner

Модератор
Локальный модератор
Сообщения
3,497
Репутация
619
символы посылаются в окно соседу? :smile:
нужно описывать все подробно и плюс код, а не строчку
 
Автор
S

sem191162

Новичок
Сообщения
7
Репутация
0
Код:
Local $f = "Выбор выкладываемого файла"
Local $img = "pic1.jpg"
local $time = 60
local $rz = 0

Local	$hWnd = WinWait($f,"",$time)

if $rz=0 Then
	$rz = 1
	If Not $hWnd Then
		ConsoleWrite('Окно не найдено, завершаем работу скрипта')
		Exit
	Else
		ConsoleWrite('Окно найдено, завершаем работу скрипта. '  )
		ControlSend($hWnd, "", "[CLASS:Edit; INSTANCE:1]", "C:\temp\ldr\" & $img)
		sleep(1500)
	EndIf
EndIf


Ждет окно IE. Раскладка английская.

Выводит в окно : C;\temp\ldr\



Добавлено:
Сообщение автоматически объединено:

скомпилированная программа (и 32-разрядная и 64-разрядная): окно перехватывает, символы выводит всегда как в примере. Если пример запускать из редактора через F5 , то все работает нормально.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,321
sem191162,
Попробуйте использовать ControlSetText вместо ControlSend.
 
Автор
S

sem191162

Новичок
Сообщения
7
Репутация
0
Спасибо. Помогло. Если заменить часть кода (закомментированную одну строку)

Код:
ConsoleWrite('Окно найдено, завершаем работу скрипта. ' & $path & $img )

    Sleep(100)
	;ControlSend($hWnd, "", "[CLASS:Edit; INSTANCE:1]", "C:\temp\ldr\" & $img &"{ENTER}")
	ControlSetText("[CLASS:#32770]", "", "Edit1", "c:\temp\ldr\pic1.jpg")
	sleep(100)
	ControlSend($hWnd, "", "[CLASS:Edit; INSTANCE:1]", "{ENTER}")

	sleep(500)

на вот такую комбинацию, то это проходит. Не экспериментировал с паузами, не в этом суть. А в том что эти гланды таки можно вырезать через... иной подход


Добавлено:
Сообщение автоматически объединено:

Хотя нет. Проблема осталась. Все это работает на примере. Т..е. я запускаю IE , в нем тыкаю кнопку. Скрипт находит окно подставляет текст. Все прекрасно.
Теперь тот же браузер, с теми же хедерами, идентификаторами, контролами запускаем в программе. И не работает. Нет слов.


Добавлено:
Сообщение автоматически объединено:

заработало. подставил следующее
Код:
;ControlSetText("[CLASS:#32770]", "", "Edit1", "c:\temp\ldr\pic1.jpg")
ControlSetText("Выбор выкладываемого файла", "", "Edit1", "c:\temp\ldr\pic1.jpg")


Выглядит все это как то хлипко, не надежно.
 
Верх