Stakc Skrivet 24 November 2012 Rapport Dela Skrivet 24 November 2012 Tja, Haha är inge vidare bra på att förklara men ska försöka ändå, Hur öppnar man en websida i typ som en program ruta? Man kör igång .exe filen och sedan så kommer man in på den sidan man vill via den? Citera Länk till kommentar Dela på andra sajter More sharing options...
Vitdom Skrivet 1 December 2012 Rapport Dela Skrivet 1 December 2012 (redigerat) iexplorer.exe fuska.se eller om du vill skapa ett eget program http://sv.wikipedia.org/wiki/Gecko_%28renderingsmotor%29 Redigerat 1 December 2012 av Vitdom Citera Länk till kommentar Dela på andra sajter More sharing options...
Stakc Skrivet 1 December 2012 Författare Rapport Dela Skrivet 1 December 2012 Inte riktigt så jag menade, Jag menar som på Runescape så kan man ladda ner så man typ spelar i "programfönster" om du förstår vad jag menar? Citera Länk till kommentar Dela på andra sajter More sharing options...
Draghguggwhor Skrivet 1 December 2012 Rapport Dela Skrivet 1 December 2012 Inte riktigt så jag menade, Jag menar som på Runescape så kan man ladda ner så man typ spelar i "programfönster" om du förstår vad jag menar?I Runescapes fall har väl Jagex skapat det här programmet? Och det är väl även en java fil man kör? Citera Länk till kommentar Dela på andra sajter More sharing options...
Vitdom Skrivet 2 December 2012 Rapport Dela Skrivet 2 December 2012 (redigerat) Inte riktigt så jag menade, Jag menar som på Runescape så kan man ladda ner så man typ spelar i "programfönster" om du förstår vad jag menar?Runescape non-browser standalone klienten laddar ingen webbsida. Den är skriven i "Microsoft - C++"(ej standardiserat) med hjälp av Win32API och GCJ(http://gcc.gnu.org/java/) och laddar Javas Virtual Machine (tillhandahåller "programfönstret" du talar om) och därefter laddar den in och kör Runescapes main-klass i Java. Till skillnad ifrån din webbläsare som själv laddar Javas Virtual Machine och specificerar ett Java Arkiv med main-startklass i Java. Även Minecraft.exe tror jag använder GCJ för att ladda spelet, men med mer kringfunktioner än Runescapes klient. Källkod(GNU GPLv2 http://www.gnu.org/licenses/gpl-2.0.html):/* * Copyright 2010 Jagex Limited. * * This file is part of JagexLauncher. * * JagexLauncher is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. * * JagexLauncher is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, see <http://www.gnu.org/licenses/> * */ #include "stdafx.h" #include <iostream> using std::cout; using std::endl; #define MAX_LINE_LENGTH 65536 int mainprogram(char *game) { FILE *f; char **paramlines; int l_paramlines=0; char prmfile[512]; sprintf_s(prmfile, 512, "../%s/%s.prm", game, game); if (fopen_s(&f, prmfile, "r") !=0) { MessageBox(NULL, TEXT("Unable to load parameter file. Please reinstall the program."), TEXT("Error"), MB_OK); return 0; } else { char line[MAX_LINE_LENGTH]; while (fgets(line, MAX_LINE_LENGTH, f)!=NULL) l_paramlines++; paramlines=new char *[l_paramlines]; fseek(f, 0, SEEK_SET); int i=0; while (fgets(line, MAX_LINE_LENGTH, f)!=NULL) { int len=strlen(line); for (int j=len-1; j>=0; j--) { if (line[j]!='\n' && line[j]!='\r') break; line[j]=0; } paramlines[i]=new char[len+1]; strcpy_s(paramlines[i], len+1, line); i++; } } if (l_paramlines<1) { MessageBox(NULL, TEXT("Empty parameter file. Please reinstall the program."), TEXT("Error"), MB_OK); return 0; } JavaVM *jvm; JNIEnv *env; LoadLibrary(TEXT("jvm.dll")); JavaVMInitArgs vm_args; vm_args.version=JNI_VERSION_1_6; vm_args.nOptions=l_paramlines-1; vm_args.options=new JavaVMOption[l_paramlines-1]; for (int i=0; i<l_paramlines-1; i++) vm_args.options[i].optionString=paramlines[i]; vm_args.ignoreUnrecognized=false; jint result=JNI_CreateJavaVM(&jvm, reinterpret_cast<void **>(&env), &vm_args); if (result!=JNI_OK) return 0; jclass cls=env->FindClass(paramlines[l_paramlines-1]); if (cls!=NULL) { jmethodID mid=env->GetStaticMethodID(cls, "main", "([Ljava/lang/String;)V"); jobjectArray args=env->NewObjectArray(1, env->FindClass("java/lang/String"), NULL); env->SetObjectArrayElement(args,0,env->NewStringUTF(game)); env->CallStaticVoidMethod(cls, mid, args); } jvm->DestroyJavaVM(); return 0; } #ifdef _CONSOLE int _tmain(int argc, TCHAR **argv) { if (argc<2) return 0; #ifdef UNICODE int len=_tcslen(argv[1]); char *game=new char[len+1]; WideCharToMultiByte(CP_ACP, 0, argv[1], len+1, game, len+1, NULL, NULL); int ret=mainprogram(game); delete[] game; return ret; #else return mainprogram(argv[0]); #endif } #else int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { return mainprogram(lpCmdLine); } #endif Redigerat 2 December 2012 av Vitdom Citera Länk till kommentar Dela på andra sajter More sharing options...
Rekommendera inlägg
Gå med i konversationen
Du kan skriva nu och registrera dig senare. Om du har ett konto, logga in nu för att posta med ditt konto.