Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Problem z działaniem programu na windows 8.1


Rekomendowane odpowiedzi

Opublikowano

Witam. Napisałem program konsolowy który używa drugiego programu do działania jest to program key.exe który zwraca kod ascii klawisza z funkcji getch() w c++. Cała ta magia potrzebna jest w konsoli tylko po to by stworzyć konsolowy input z ograniczoną liczbą znaków do wpisania. (Nie pytajcie po co mi to). Wszystko ładnie działa z tym defektem że nie działa to na windows 8.1 z niewiadomych przyczyn na windows 8.1 program ignoruje to że wpisaliśmy maksymalną długośc ciągu. Jeżeli ktoś mnie rozumie i ma chęci pomóc to zapraszam. Daje download wraz z kodem i SKANEM (bo te sknery sie czepiają). Cały program robi tak by nie dało się wpisać nic dalej jeżeli wpisaliśmy już 10 znaków co spowoduje że ciąg nie wyjedzie za "ramkę". Niestety na win 8.1 i tak jedzie za ramkę...

Donwload: Test2.rar
Skan: https://www.virustotal.com/pl/file/b9d977fbf137157406eddf5c81e4f44a6157d0131f5435fceacdd5f88988b0a0/analysis/1411814318/
Kod:

 

#NoTrayIcon
#include <Console2.au3>
#include <bpp.au3>
#include <Misc.au3>
#include <String.au3>
$ret = setp(2,2,10)
_Console_Write(@CRLF&@CRLF&"Ju write: "&$ret)
Sleep(2500)
Func setp($hX,$hY,$hMax = 1024,$hChar = ">> ")
    Local $hPos_ = _Console_GetCursorPosition()
    Local $hString = ""
    Local $ChrSet[40] = ["0","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","r","s","q","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9"," ","bck","entr"]
     _Console_SetCursorPosition(-1,0,0)
     _Console_Write("###############"&@CRLF)
     _Console_Write("#             #"&@CRLF)
     _Console_Write("###############"&@CRLF)
     _Console_SetCursorPosition(-1,$hX - 1,$hY - 1)
     _Console_Write($hChar)
     _Console_SetCursorPosition(-1,$hX - 1 + StringLen($hChar),$hY - 1)
    While 1
        $var = RunWait("key2.exe")
        If $var = 8 Then
            $var = "bck"
        ElseIf $var = 13 Then
            $var = "entr"
        Else
            $var = Chr($var)
        EndIf
        If $var = "bck" Then
            $hString = StringTrimRight($hString,1)
            _Console_SetCursorPosition(-1,$hX - 1 + StringLen($hChar),$hY - 1)
            _Console_Write(_StringRepeat(" ",$hMax))
            _Console_SetCursorPosition(-1,$hX - 1 + StringLen($hChar),$hY - 1)
            _Console_Write($hString,True)
        ElseIf $var = "entr" Then
            Return $hString
        Else
            For $i = 1 To 38
                If $var = $ChrSet[$i] Then
                    If StringLen($hString) < $hMax  Then
                        $hString &= $ChrSet[$i]
                        _Console_SetCursorPosition(-1,$hX - 1 + StringLen($hChar),$hY - 1)
                        _Console_Write(_StringRepeat(" ",$hMax))
                        _Console_SetCursorPosition(-1,$hX - 1 + StringLen($hChar),$hY - 1)
                        _Console_Write($hString,True)
                    EndIf
                EndIf
            Next
        EndIf
    WEnd
    Sleep(50)
EndFunc

 

 

Dziękuję za pomoc z góry.

Cipka - Najlepszy silnik na świecie. Działa z tłokiem każdej średnicy, wbudowana funkcja samosmarowania, odpalasz jednym palcem i co miesiąc sam się wymienia olej. Szkoda tylko że ma taki pojebany komputer pokładowy.

Opublikowano

Pomoże ktoś?

Cipka - Najlepszy silnik na świecie. Działa z tłokiem każdej średnicy, wbudowana funkcja samosmarowania, odpalasz jednym palcem i co miesiąc sam się wymienia olej. Szkoda tylko że ma taki pojebany komputer pokładowy.

Opublikowano

@1361622928-U485574.pngref Mam małe wrazenie jakby fuinkcja If nie działała, próbowałem zmienić częśc kodu tak by przycinała zmienną do np. 10 znaków ale i to nie działa pod win 8 ;] Help?

Cipka - Najlepszy silnik na świecie. Działa z tłokiem każdej średnicy, wbudowana funkcja samosmarowania, odpalasz jednym palcem i co miesiąc sam się wymienia olej. Szkoda tylko że ma taki pojebany komputer pokładowy.

Opublikowano

@ref Czy na tym forum nie ma nikogo kto pomorze??

Cipka - Najlepszy silnik na świecie. Działa z tłokiem każdej średnicy, wbudowana funkcja samosmarowania, odpalasz jednym palcem i co miesiąc sam się wymienia olej. Szkoda tylko że ma taki pojebany komputer pokładowy.

Opublikowano

Spróbuj skomponować pod x64, może mi się wydaje ale autoit nie działa na 8.1 (sprawdź co zwraca makro o systemie i w help czy działa na 8.1)

Jakoś tu pusto...

Opublikowano

Spróbuj skomponować pod x64, może mi się wydaje ale autoit nie działa na 8.1 (sprawdź co zwraca makro o systemie i w help czy działa na 8.1)

Wpadłem właśnie na to samo ale zrobiłem na x64 jest to samo do tego dodam że kolega zanim skopiował do folderu z programem plik key2.exe to program działał bez niego z tym że nie działa własnie ograniczenie znaków dziwne dosyć...

 

Jak ktoś ma inną idee na funkcje Getch() w autoit lub pobranie wciśniętego znaku w konsoli to proszę o jakieś przykłady od razu mówię że _IsPressed odpada bo nie będe robić setek if'ów tak samo hotkeyset

Cipka - Najlepszy silnik na świecie. Działa z tłokiem każdej średnicy, wbudowana funkcja samosmarowania, odpalasz jednym palcem i co miesiąc sam się wymienia olej. Szkoda tylko że ma taki pojebany komputer pokładowy.

Opublikowano

@ref

Cipka - Najlepszy silnik na świecie. Działa z tłokiem każdej średnicy, wbudowana funkcja samosmarowania, odpalasz jednym palcem i co miesiąc sam się wymienia olej. Szkoda tylko że ma taki pojebany komputer pokładowy.

  • 2 tygodnie później...
Opublikowano

@ref

Cipka - Najlepszy silnik na świecie. Działa z tłokiem każdej średnicy, wbudowana funkcja samosmarowania, odpalasz jednym palcem i co miesiąc sam się wymienia olej. Szkoda tylko że ma taki pojebany komputer pokładowy.

Opublikowano

Co do tematu powiem że problem się zmienił trochę... Przerobiłem dość sporą ilość kodu tak że teraz program nie wymaga pliku key2.exe ... Niestety schody zaczęły się dalej używając innego programu. Szczerze mówiąc j**** to nie będe nabijać postów, zrobie wersję tekstową programu dla windows 8 bo to gówno do niczego sie nie nadaje. j**** windows 8 pozdro :D do zamknięcia

Cipka - Najlepszy silnik na świecie. Działa z tłokiem każdej średnicy, wbudowana funkcja samosmarowania, odpalasz jednym palcem i co miesiąc sam się wymienia olej. Szkoda tylko że ma taki pojebany komputer pokładowy.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...