💬
Logga in
Fuska.se

Hur Öppnar Man En Websida I Ett Program

4 svar · startad

Nivå 2 · Novis
Trådstartare #1

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?

1 Dec 2012
Nivå 9 · Veteranfuskare
#2

iexplorer.exe fuska.se

 

eller om du vill skapa ett eget program

http://sv.wikipedia.org/wiki/Gecko_%28renderingsmotor%29

Senast ändrad:

Nivå 2 · Novis
Trådstartare #3

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?

Nivå 6 · Fuskare
#4
↗ till inlägget

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?
2 Dec 2012
Nivå 9 · Veteranfuskare
#5
↗ till inlägget

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

Senast ändrad:

Vill du vara med i diskussionen?

Bli medlem Logga in