s0n1c Opublikowano 21 Września 2007 Zgłoś Opublikowano 21 Września 2007 (edytowane) Witam, napisalem sobie prostego loadera: @echo offtitle Wybierz Emulatorclsecho.echo 1. ePSXe 1.6echo 2. ePSXe 1.5.2echo 3. SSSPSX 0.0.3.4echo.set /p choice=Wybierz emulator: if not '%choice%'=='' set choice=%choice:~0,1%if '%choice%'=='1' goto ePSXe160if '%choice%'=='2' goto ePSXe152if '%choice%'=='3' goto SSSPSX0034: ePSXe160start D:\PROGRA~1\ePSXe\ePSXe160.exegoto end: ePSXe152start D:\PROGRA~1\ePSXe\ePSXe152.exegoto end: SSSPSX0034start D:\PROGRA~1\ePSXe\SSSPSX\SSSPSX.exe: endMoje pytanie brzmi: Czy jest jakas komenda, dzieki ktorej nie bedzie trzeba naciskac ENTER bo wybraniu opcji? (Zeby wystarczalo nacisniecie samego klawisza cyfry). A teraz prosba dla ludzi potrafiacych programowac w okienkach. Jak wiadomo potrzeba (lenistwo - po co mam dotykac klawiatury, jak moge wybrac myszka) jest matka wynalazkow. Niestety moja znajmosc programowania na razie ogranicza sie do programow pod console, a chcialbym napisac sobie loadera pod okienka. Wiem, ze taka aplikacja praktycznie ogranicza sie do 1 formy, labela (opcjonalnie) i 3 buttonow. (I think so) Niestety brakuje mi wiedzy co nalezy wpisac w buttony. I tutaj kieruje prosbe do uzytkownikow, czy ktos byl by na tyle uprzejmy, zeby napisac mi taka aplikacje. Najlepiej jak by byla w c++ bo wtedy moglbym takze troche przestudiowac kod. Jesli chodzi o wyglada formy to moge wykonac, tylko ze ona by byla pod/w CLR. (VS C++ 2005 EE). Edytowane 21 Września 2007 przez s0n1c Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 21 Września 2007 Zgłoś Opublikowano 21 Września 2007 Masz cos innego. Program w htmlu. http://paste.sgjps.com/13 Zapisz to jako *.hta Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
s0n1c Opublikowano 21 Września 2007 Zgłoś Opublikowano 21 Września 2007 (edytowane) Troche "dlugo" sie laduje, ale wielkie dzieki za poswiecony czas. Wracaja co skryptu batch, jest w ogole taka mozliwosc? Oczywiscie nadal czekam an wersje/propozycje rozwiazania c++. "Dlugo" tzn, nie potrzebnie jest przeskalowanie. (z duzego okienka na normalnej wielkosci). Edytowane 21 Września 2007 przez s0n1c Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 21 Września 2007 Zgłoś Opublikowano 21 Września 2007 C++ .Net / forma z 1 przyciskiem edit, za kilka minut, bo napisalem w c# zamiast c++ » Naciśnij, żeby pokazać/ukryć tekst oznaczony jako spoiler... « wymaga dopisania using System.Diagnostics; using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Diagnostics;namespace WindowsApplication1{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Process myprocess = new Process(); myprocess.StartInfo.FileName = "c:\\winxp\\notepad.exe"; myprocess.Start(); } }} edit 2 using namespace System::Diagnostics; button Process^ myprocess= gcnew Process(); myprocess->Start("c:\\winxp\\notepad.exe"); Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
s0n1c Opublikowano 21 Września 2007 Zgłoś Opublikowano 21 Września 2007 (edytowane) Cos strasznie jestem oporny. Nie wiem zbyt dokaldnie gdzie to umiescic. Umieszczam w zalaczniku gotowa forme. Jesli mozna to prosilbym umieszczenie tutaj pelnego kodu programu (wzgledem mojej formy), lub uzupelniona w kod i zamieszczona gdzies, zebym mogl sobie porownac. Jeszcze raz dzieki za zainteresowanie. Edytowane 21 Września 2007 przez s0n1c Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 21 Września 2007 Zgłoś Opublikowano 21 Września 2007 Klikales w przycisk w widoku projektu? Bo wtedy od razu wiadomo co ma gdzie byc w kodzie. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
s0n1c Opublikowano 21 Września 2007 Zgłoś Opublikowano 21 Września 2007 (edytowane) Mozna powiedziec, ze skojarzylem: » Naciśnij, żeby pokazać/ukryć tekst oznaczony jako spoiler... « using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Diagnostics;U mnie to: using namespace System;using namespace System::ComponentModel;using namespace System::Collections;using namespace System::Windows::Forms;using namespace System::Data;using namespace System::Drawing;using namespace System::Text;using namespace System::Diagnostics; » Naciśnij, żeby pokazać/ukryć tekst oznaczony jako spoiler... « private void button1_Click(object sender, EventArgs e) { Process myprocess = new Process(); myprocess.StartInfo.FileName = "c:\\winxp\\notepad.exe"; myprocess.Start(); }U mnie to: private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { Process myprocess = new Process(); myprocess.StartInfo.FileName = "c:\\winxp\\notepad.exe"; myprocess.Start(); }"c:\\winxp\\notepad.exe" <- Oczywiscie w tym miejscu adres do aplikacji Do tego nie jestem pewien czy: » Naciśnij, żeby pokazać/ukryć tekst oznaczony jako spoiler... « public partial class Form1 : Form { public Form1() { InitializeComponent(); }to u mnie: public: Form1(void) { InitializeComponent(); // //TODO: Add the constructor code here // } Co do reszty to nie mam wiekszej pewnosci gdzie zahaczyc. Nie wiem czy srodowisko mnie przerasta, ale za czasow Borland c++ 6 po utworzeniu formy, bylo tak jakos przejrzysciej i jasniej. Edytowane 21 Września 2007 przez s0n1c Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 21 Września 2007 Zgłoś Opublikowano 21 Września 2007 Pierwszy kod w spoilerze tak jak napisałem przez pomyłke napisalem w C# zamiast c++. To po drugim edit jest dla c++. Using juz dodales. Wstaw pod obsługe przycisku jeszcze prawidowy kod w c++ Process^ myprocess= gcnew Process(); myprocess->Start("c:\\winxp\\notepad.exe"); Reszta kodu jest niewazna i nic tam nie zmieniaj. W vc++ rzeczywiscie nawalone jest troche duzo kodu, bo są dopisane tez informacje co gdzie lezy na formie. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
s0n1c Opublikowano 22 Września 2007 Zgłoś Opublikowano 22 Września 2007 (edytowane) No, wkoncu zrobione. private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { Process^ myprocess= gcnew Process(); myprocess->Start("D:\\Program Files\\ePSXe\\ePSXe160.exe"); Application::Exit(); }Jak widac ten kod od C# ladnie mnie mylil. (Myslalem, ze po edycji bledny kod zostal poprawiony. A nie skojarzylem, ze zwiniety przez spoiler to olac). Tylko przeraza mnie szybkosc dzialania i pamieciozernosc. 39,5KB pochlania 15MB :blink: Do tego speed wolniejszy od uruchamiania samego emulatora. Do zwyklej formy zostaly dodane tylko instrukcje do 3 przyciskow. Co powoduje takie cos? .NET? Edytowane 22 Września 2007 przez s0n1c Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 22 Września 2007 Zgłoś Opublikowano 22 Września 2007 Z pamięcią to normalne, ale z szybkoscia przy tym co masz w podpisie nie powinienes mieć problemów. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
s0n1c Opublikowano 22 Września 2007 Zgłoś Opublikowano 22 Września 2007 (edytowane) No wlasnie mnie ta "szybkosc" strasznie dziwi. 3s cold start ~1s pozniejsze. Dla porownania w/w emulatory, winrar, irfan view, etc. Ktore objetosciowo i zlozeniowo so wieksze, uruchamiaja sie rowno z 2 kliknieciem na ikonie! +/-50ms. I wlasnie czy jak by to bylo napisane pod win32 a nie .NET, czy by dzialalo szybciej. Zobacze jak z pod borlanda 7 bedzie to chodzilo. Btw. Zauwazylem dopiero teraz. Dlaczego nie dziala kompilowanie? (Ctrl+F7, jest nie dostepne) Edytowane 22 Września 2007 przez s0n1c Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 22 Września 2007 Zgłoś Opublikowano 22 Września 2007 Napisane natywnie pod Win32 dzialaloby duzo, duzo szybciej. Aplikacje .NET'owe maja troche swojego narzutu m.in. przy uruchamianiu. To nie jest technologia do malych aplikacji. Zrobienie tego natywnie nie jest trudne, z palca nie napisze, bo dawno w WinAPI nie robilem, ale wystarczy znalezc funkcje do odpalania procesow (cos z OpenProcess chyba) i dalej pojechac zgodnie z manualem. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 22 Września 2007 Zgłoś Opublikowano 22 Września 2007 CreateProcess, ShellExecute lub stary WinExec(ale tego nie powinno się uzywać) Tyle że najpierw trzeba by całą formę napisac i oprogramować od zera. Bez doinstalowanego SDK do windows, VS 2005 Express nie umozliwia pisania okienkowych programów pod win32. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 23 Września 2007 Zgłoś Opublikowano 23 Września 2007 (edytowane) Ano fakt.. zapomnialem o formie. Nie wiem jak to wyglada w Express Edition, bo ja uzywam w pracy bardziej przyjaznej wersji.. te SDK jest za free pewnie, tak ? A problemem pewnie jest jego rozmiar? :) Mozna tez napisac konsolowa aplikacje, ktora robi dokladnie to samo co skrypt z pierwszego posta. Mozna tez darowac sobie wywazanie otwartych drzwi i skorzystac z ChoiceEditor'a stworzonego co prawda na potrzeby Total Commander'a, ale dajacego sie ladnie zaadoptowac do Twoich celow: Jesli nie bedzie Ciebie draznila ostatnia opcja "Other program" to powinno Cie to zadowolic. Program ma 20KB i odpala sie blyskawicznie. Dziala w nim i myszka, i klawiatura. Mysle, ze pomoze. http://totalcmd.pl/download/add/add/Choice_Editor Edytowane 23 Września 2007 przez FiDO Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
s0n1c Opublikowano 25 Września 2007 Zgłoś Opublikowano 25 Września 2007 Problem rozwiazany, pomoglo dokladne usuniecie frameworka i ponowna instalacja. Ach te pozostalosci po betach :P Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 29 Września 2007 Zgłoś Opublikowano 29 Września 2007 a pisali tyle razy.. przed instalacją frejmworka odinstalwoać starego... :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
s0n1c Opublikowano 29 Września 2007 Zgłoś Opublikowano 29 Września 2007 A tak nie robilem? Tylko jak widac podczas deinstalacji, framework nie potrafi posprzatac po sobie. Trzeba sie wspomagac odpowiednim toolem. BTW. Mysle, ze temeat juz do zamkniecia. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...