Старый 24.03.2006, 00:01   #1   
хроник
 
Аватар для jeck
 
Сообщений: 5,521
Регистрация: 15.01.2005
Возраст: 44

jeck вне форума Не в сети
написать BATничек

снающие люди подсобите наваять BAT - фаил. Нужно, что бы он помещал в буфер обмена строку данных, а потом запускал программу.
  Ответить с цитированием
Старый 24.03.2006, 07:50   #2   
Форумец
 
Аватар для Luke
 
Сообщений: 526
Регистрация: 21.06.2004

Luke вне форума Не в сети
нет ничего проще...

rem ====my.bat=====
CopyStrToClipBoard "Эта строка данных помещается в буфер обмена"
execute myProg.exe
rem ==end my.bat===
  Ответить с цитированием
Старый 24.03.2006, 20:42   #3   
хроник
 
Аватар для jeck
 
Сообщений: 5,521
Регистрация: 15.01.2005
Возраст: 44

jeck вне форума Не в сети
не работает!
убрал execute, прога myProg.exe запустилась,
а в черном окне пишет- "CopyStrToClipBoard" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. cсоответствено в буфере пусто
как быть?
ps если че, XP
  Ответить с цитированием
Старый 25.03.2006, 13:55   #4   
Форумец
 
Аватар для The_God
 
Сообщений: 1,109
Регистрация: 19.12.2004
Возраст: 42

The_God вне форума Не в сети
тулзу CopyStrToClipBoard
ты сам должен написать чтоб она параметры свои в буфер обмена записывала
  Ответить с цитированием
Старый 25.03.2006, 16:01   #5   
Кэп Улитка
 
Аватар для Yandex
 
Сообщений: 8,067
Регистрация: 04.05.2005
Возраст: 43

Yandex вне форума Не в сети
Что то в таком духе (у мя 98 - SendKeys - не фуpычит, пpовеpить не могу).
Это не bat - это лучше
---------------- 1.vbs ----------------
set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "notepad", 5

' Тут надо заголовок заменить скоpее всего
objShell.AppActivate "Блокнот"
WScript.Sleep 100
objShell.SendKeys "твой текст"
WScript.Sleep 2500
' Выделяем все
objShell.SendKeys "^a"
WScript.Sleep 2500
' Коиpуем в буффеp
objShell.SendKeys "^c"
WScript.Sleep 2500

' Закpываем блокнот
' Кажется он там сохpанить захочет - откажем
objShell.SendKeys ({ESC})
objShell.SendKeys ({RIGHT})
objShell.SendKeys ({ENTER})

' И наконец стаPт твоего exe
objShell.Run "my.exe", 5
  Ответить с цитированием
Старый 25.03.2006, 19:53   #6   
хроник
 
Аватар для jeck
 
Сообщений: 5,521
Регистрация: 15.01.2005
Возраст: 44

jeck вне форума Не в сети
Цитата:
Сообщение от Yandex
Это не bat - это лучше
а что мне с этим делать?
  Ответить с цитированием
Старый 25.03.2006, 20:55   #7   
14 лет на БВ
 
Аватар для you_are
 
Сообщений: 491
Регистрация: 12.05.2005

you_are вне форума Не в сети
jeck,
Догадываюсь, для чего это тебе нужно
  Ответить с цитированием
Старый 25.03.2006, 23:18   #8   
хроник
 
Аватар для jeck
 
Сообщений: 5,521
Регистрация: 15.01.2005
Возраст: 44

jeck вне форума Не в сети
you_are, ну проблему надо ведь хоть как-то решить
  Ответить с цитированием
Старый 25.03.2006, 23:40   #9   
Кэп Улитка
 
Аватар для Yandex
 
Сообщений: 8,067
Регистрация: 04.05.2005
Возраст: 43

Yandex вне форума Не в сети
Написано же - поместить в фаил с именем например 1.vbs и запускать вместо bat-ника.
(предварительно отредактировав малек - голова я думаю у тя имеется)

по смыслу - делается следуещее (почти построчно)
Запускается блокнот.
Спим (ждем пока запустится)
Активируется
Спим (ждем пока активиуется)
посылаем нажатие клавиш
Спим (пока нажатия обработаются)
посылаем нажатие ctrl-A (~ выделить все)
Спим (понятно почему)
послваем нажатие ctrl-V (~ закопировать в буффер стоку)
дрыхнем
--теперь осталось закрыть блокнот
посылаем нажатие ESC (надеюсь у тя альтенативный блокнот, выход из котоого по ESC сработает - bred 2 или akelpad)
--Однако предложит сохранить фаил - надо отказаться - для этого
посылаем нажатие стрелки вправо и ентер.

последняя строка запускает твою прогу (5 означает, что она будет видна и активна)

Если вопросы еще - попробуй отловить в ваське.
Вообще это Windows Script Нost.
  Ответить с цитированием
Старый 26.03.2006, 00:51   #10   
хроник
 
Аватар для jeck
 
Сообщений: 5,521
Регистрация: 15.01.2005
Возраст: 44

jeck вне форума Не в сети
Yandex, после замены () на "" и установки akelpad все заработало, но есть вопросы
set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "D:\Text\akelpad\akelpad.exe" , 5



objShell.AppActivate "Блокнот" - зачем это надо, и что имелось в виду под "Блокнот"
WScript.Sleep 100
objShell.SendKeys "бла-бла-бла"
WScript.Sleep 250
' Выделяем все
objShell.SendKeys "^a"
WScript.Sleep 250
' Коиpуем в буффеp
objShell.SendKeys "^c"
WScript.Sleep 250

' Закpываем блокнот
' Кажется он там сохpанить захочет - откажем
objShell.SendKeys "{ESC}"
objShell.SendKeys "{RIGHT}"
objShell.SendKeys "{ENTER}"

' И наконец стаPт твоего exe
objShell.Run "прога.exe", 5
Цитата:
Сообщение от Yandex
(5 означает, что она будет видна и активна)
а есть ключ, что бы akelpad был не виден?
зы аськи нету
  Ответить с цитированием
Старый 26.03.2006, 09:41   #11   
Registered User
 
Аватар для netwind
 
Сообщений: 1,905
Регистрация: 25.03.2003

netwind вне форума Не в сети
мрак. судя по гуглу в resource kit от 98 и nt4(а так же в win 2003 server) можно найти прогу clip.exe для работы с буфером обмена.
  Ответить с цитированием
Старый 26.03.2006, 09:47   #12   
Registered User
 
Аватар для netwind
 
Сообщений: 1,905
Регистрация: 25.03.2003

netwind вне форума Не в сети
http://www.petri.co.il/software/clip.zip.
суешь ее куданить в с:\tls (СЛАВАРЕТУ или кто там придумал этот каталог писать на имаджи)

и набиваешь примерно такой файл :

echo "это строка помещается в буфер обмена" | c:\tls\clip
"C:\Program files\блаблабла\бла.exe"
  Ответить с цитированием
Старый 27.03.2006, 20:41   #13   
Кэп Улитка
 
Аватар для Yandex
 
Сообщений: 8,067
Регистрация: 04.05.2005
Возраст: 43

Yandex вне форума Не в сети
C доки
0 - Hides the window and activates another window.

1 - Activates and displays a window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when displaying the window for the first time.

2 - Activates the window and displays it as a minimized window.

3 - Activates the window and displays it as a maximized window.

4 - Displays a window in its most recent size and position. The active window remains active.

5 - Activates the window and displays it in its current size and position.

6 - Minimizes the specified window and activates the next top-level window in the Z order.

7 - Displays the window as a minimized window. The active window remains active.

8 - Displays the window in its current state. The active window remains active.

9 - Activates and displays the window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when restoring a minimized window.

10 - Sets the show-state based on the state of the program that started the application.

То есть те 0 нужен, а не 5.

Вообще конечно как netwind лучше сделать - а не фигней страдать, как это я сделал )) (вообще таких прог дофига, да и настрочить ее за 10 мин мона [только для тескта]).
  Ответить с цитированием
Старый 27.03.2006, 23:11   #14   
4e
 
Аватар для Alexey
 
Сообщений: 3,610
Регистрация: 27.09.2001
Возраст: 42

Alexey вне форума Не в сети
netwind, tls рулит до сих пор юзаю
  Ответить с цитированием
Старый 27.03.2006, 23:20   #15   
хроник
 
Аватар для jeck
 
Сообщений: 5,521
Регистрация: 15.01.2005
Возраст: 44

jeck вне форума Не в сети
Yandex, netwind, спосибо за помощь, работают оба варианта
  Ответить с цитированием
Старый 28.03.2006, 20:18   #16   
Кэп Улитка
 
Аватар для Yandex
 
Сообщений: 8,067
Регистрация: 04.05.2005
Возраст: 43

Yandex вне форума Не в сети
Гы-гы
objShell.Run "notepad", 5
не будет работать - т.к. SendKeys посылает нажатия тока в активную прогу (а раз она не видна, то и не активна)
  Ответить с цитированием
Поиск в теме: 


Опции темы

Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind