Skocz do zawartości


tablety.pl
Zdjęcie

Wiersz poleceń a killowanie okien




  • Zamknięty Temat jest zamknięty
4 odpowiedzi w tym temacie

#1 Pilsener

Pilsener

    First Rank

  • Użytkownicy
  • 6 postów
  • Lokalizacja:Olsztyn

Napisano 06 11 2009 - 23:31

Witajcie!

Muszę dla klienta zrobić aplikację do masowego wysyłania smsów przy pomocy telefonu podpiętego do serwera na win xp, użyłem w tym celu microsoft sms sender, program wydał mi się prosty i idealny do tego celu, wysyłanie wiadomości z wiersza poleceń wygląda mniej więcej tak:

c:\Progra~1\Micros~3\SMSSender.exe /p:123456789 /m:"tresc wiadomosci"

Wszystko byłoby idealnie, gdyby nie fakt, że po każdej tej operacji wyskakuje okno "wiadomość wysłana pla pla", przy kilku tysiącach SMS'ów nietrudno domyśleć się, ile to będzie okien :)

Dlatego moje pytania są następujące:
1. Czy da się jakoś wyłączyć te okna nie modyfikując kodu źródłowego programu? Teraz radzę sobie tak, że po prostu killuje proces poprzez taskkill /IM SMSSender.exe, jednak ciągłe odpalanie i killowanie programu strasznie spowalnia proces wysyłania czy czyni całą grę niewartą zachodu, może da się uruchomić program z jakimś parametrem bez okien lub wymusić to w inny sposób?

2. Czy da się jakoś przechwycić (np. do pliku log.txt) informacje, które wyskakują w tych oknach? Może jest na to jakaś komenda/opcja w wierszu poleceń?

3. Czy pomoże odpalenie programu jako usługę systemową czy nie warto sobie tym zawracać głowy?

4. Może jeszcze jakieś proste programy do wysyłania SMS'ów z telefony przy pomocy wiersza poleceń możecie polecić?

Z góry dziękuję za pomoc i pozdrawiam.

#2 Kolega Dudysa

Kolega Dudysa

    Good Rank

  • Na emeryturze
  • 700 postów
  • Płeć:Mężczyzna

Napisano 07 11 2009 - 10:49

Może jeszcze jakieś proste programy do wysyłania SMS'ów z telefony przy pomocy wiersza poleceń możecie polecić?


gammu umożliwia pobieranie wiadomości SMS, archiwizację oraz wysyłanie. Dzieli się na: Wammu jest menedżer telefonów komórkowych oraz Gammu nazwa projektu i narzędzie wiersza polecenia. Obsługiwane modele

gsmlib. Tylko wiersz poleceń. Umożliwia wysyłanie.

Nie używałem tych aplikacji bo nie miałem takiej potrzeby, ale wiem że są i w pełni darmówki. Co do komercyjnych to jest coś takiego jak febooti Command line email

1. Czy da się jakoś wyłączyć te okna nie modyfikując kodu źródłowego programu? Teraz radzę sobie tak, że po prostu killuje proces poprzez taskkill /IM SMSSender.exe, jednak ciągłe odpalanie i killowanie programu strasznie spowalnia proces wysyłania czy czyni całą grę niewartą zachodu, może da się uruchomić program z jakimś parametrem bez okien lub wymusić to w inny sposób


Są narzędzia do ukrywania okien, uruchamiane z wiersza poleceń, główne okno aplikacji ukryje napewno, ale czy te dodatkowe wyskakujące tego nie wiem. Musisz przetestować.

Konsolowe: Operacje na oknach

Czy da się jakoś przechwycić (np. do pliku log.txt) informacje, które wyskakują w tych oknach? Może jest na to jakaś komenda/opcja w wierszu poleceń?


Nie słyszałem o takiej komendzie, a przed chwilą patrzyłem w Twój program i nie widziałem takiej opcji w poleceniach. Widzę też że program nie posiada trybu cichego, coś w stylu wyświetlaj tylko komunikatu o blędach.

W konsoli możesz zapisać wynik, ale skoro wynik nie jest przekierowany do okna konsoli tylko gui, zapis + ciągłe nadpisywanie pliku:

c:\Progra~1\Micros~3\SMSSender.exe /p:123456789 /m:"tresc wiadomosci" >> C:\SmsLog.txt

A w tym microsoft sms sender widziałem że w poleceniach jest opcja /I rejestruje wysłaną wiadomość . W samym programie też jest opcja zapisania dziennika.

#3 Pilsener

Pilsener

    First Rank

  • Użytkownicy
  • 6 postów
  • Lokalizacja:Olsztyn

Napisano 07 11 2009 - 12:21

Zgadza się, jest rejestrowanie, ale plik log.txt jest archiwizowany wewnątrz pliku exe, więc ciężko się do niego dobrać, ale nic to... porzucam ten program.

Dzięki za naprowadzenie na gammu - wydaje mi się to programem o niebo lepszym, właśnie testuję i na razie jestem zachwycony, trochę czasu zajmie mi ogarnięcie wszystkich możliwości tego kombajnu :)

#4 Kolega Dudysa

Kolega Dudysa

    Good Rank

  • Na emeryturze
  • 700 postów
  • Płeć:Mężczyzna

Napisano 07 11 2009 - 13:07

To jeśli będziesz używał go z linii wiersza poleceń. To sprawdź czy program posiada tryby komunikatów wyświetlanych w samym wierszu,czyli tryby:
- tryb pełny: wyświetla cały postęp przeprowadzonej operacji
- tryb wyświetlania tylko błędów

Oczywiście tryby mogą się zupełnie inaczej nazywać, ja to tylko sobie tak nazwałem, a piszę to po to bo chciałes tworzyć loga. Warto też sprawdzić czy podczas instalacji ścieżka do narzędzia dodana jest do zmiennych środowiskowych w tedy nie będziesz musiał wpisywać całej ścieżki do narzędzia + parametry, a tylko nazwę + parametry. Stworzenie Loga, które będzie wciąż nadpisywane bez utraty wcześniejszych zapisów:

Jakiś przykład:
chkdsk >> C:\Log.txt

Tworzenie pojedyńczego loga:
chkdsk > C:\Log.txt

Ale mankamet będzie taki że postęp nie będzie widoczny w oknie cmd. I jest na to rada WinTee. narzędzie z linii wiersza poleceń. Sam siebie zacytuje:

pozwala na równoczesne przekierowanie wyniku na erkanie oraz do pliku


Sciagasz, wklejasz do System32, nie wymaga instalacji. Uzycie:
chkdsk | wtee C:\SmsLog.txt

EDIT *
Ciagłe nadpisywanie pliku:
musi być uzyty parametr -a
chkdsk | wtee -a C:\SmsLog.txt
*

Lub jak Ci się będzie podobać lub wedle uznania, uruchamiać sobie jako plik bat i do tego są narzędzia, które ukrywają okna bat czyli okno wiersza poleceń: Ukrywanie okien cmd (pod pliki batch). Lub użyć skryptu VBS w którym wprowadzasz nazwę programu z parametrami -> ukrywa okna, moze być użyty z uruchom: Narzędzie do zdalnego wykonywania poleceń (post 4)

W każdym razie jak coś to pisz.

#5 Pilsener

Pilsener

    First Rank

  • Użytkownicy
  • 6 postów
  • Lokalizacja:Olsztyn

Napisano 07 11 2009 - 15:48

Jasne, wielkie dzięki!

Ten gammu jest świetny, są nawet przykłady i gotowa klasa w PHP :) Udało mi się też bez problemu przebrnąć przez konfigurację dzięki licznym przykładom.

Jak w PHP używam funkcji exec() to od razu dostaje info zwrotne z wiersza poleceń (np. komunikat błędu), można też w gammu bardzo szeroko definiować rejestrowanie w pliku, mi to wystarcza aż nadto.




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych