Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Java and win32....

[es] :: Java :: Java and win32....

[ Pregleda: 2735 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

weB_KiLeR

Član broj: 238
Poruke: 1317
*.panet.co.yu



Profil

icon Java and win32....20.08.2003. u 23:26 - pre 251 meseci
Ajmo ljudi jel neko od vas izvalio kako se pozivaju win API-iji iz Jave naravno ne preko JNI-a ... Nego iz ciste jave znaci pure java... ja sam nasao nesto ovako:
Citat:

import java.io.*;
public class BrowserControl
{
/**
* Display a file in the system browser. If you want to display a
* file, you must include the absolute path name.
*
* @param url the file's url (the url must start with either "http://"
or
* "file://").
*/
public static void displayURL(String url)
{
boolean windows = isWindowsPlatform();
String cmd = null;
try
{
if (windows)
{
// cmd = 'rundll32 url.dll,FileProtocolHandler http://...'
cmd = WIN_PATH + " " + WIN_FLAG + " " + url;
Process p = Runtime.getRuntime().exec(cmd);
}
else
{
// Under Unix, Netscape has to be running for the "-remote"
// command to work. So, we try sending the command and
// check for an exit value. If the exit command is 0,
// it worked, otherwise we need to start the browser.
// cmd = 'netscape -remote openURL(http://www.javaworld.com)'
cmd = UNIX_PATH + " " + UNIX_FLAG + "(" + url + ")";
Process p = Runtime.getRuntime().exec(cmd);
try
{
// wait for exit code -- if it's 0, command worked,
// otherwise we need to start the browser up.
int exitCode = p.waitFor();
if (exitCode != 0)
{
// Command failed, start up the browser
// cmd = 'netscape http://www.javaworld.com'
cmd = UNIX_PATH + " " + url;
p = Runtime.getRuntime().exec(cmd);
}
}
catch(InterruptedException x)
{
System.err.println("Error bringing up browser, cmd='" +
cmd + "'");
System.err.println("Caught: " + x);
}
}
}
catch(IOException x)
{
// couldn't exec browser
System.err.println("Could not invoke browser, command=" + cmd);
System.err.println("Caught: " + x);
}
}
/**
* Try to determine whether this application is running under Windows
* or some other platform by examing the "os.name" property.
*
* @return true if this application is running under a Windows OS
*/
public static boolean isWindowsPlatform()
{
String os = System.getProperty("os.name");
if ( os != null && os.startsWith(WIN_ID))
return true;
else
return false;

}
/**
* Simple example.
*/
public static void main(String[] args)
{
displayURL("http://www.javaworld.com");
}
// Used to identify the windows platform.
private static final String WIN_ID = "Windows";
// The default system browser under windows.
private static final String WIN_PATH = "rundll32";
// The flag to display a url.
private static final String WIN_FLAG = "url.dll,FileProtocolHandler";
// The default browser under unix.
private static final String UNIX_PATH = "netscape";
// The flag to display a url.
private static final String UNIX_FLAG = "-remote openURL";
}


To je to jel tako e sad na primer hocete da ugasite komp?!?!
Znaci kad uzmemo win32 devlopers reference tu nadjemo da ima ovo:
Citat:

BOOL ExitWindowsEx(

UINT uFlags, // shutdown operation
DWORD dwReserved // reserved
);


Komanda iz Delphi-ja: ExitWindowsEx(EWX_SHUTDOWN,i);

U quick infu import library mu je user32.lib herm...
Znaci kako ja sad ovo da izvedem na istu foru kao sto ovaj daje komandu da pokrene browser?!?!
 
Odgovor na temu

alex
Aleksandar Radulovic
Senior Software Engineer, Spotify
Stockholm, Sweden

Član broj: 71
Poruke: 2194
*.du.heimsnet.is

Jabber: alex@a13x.info
ICQ: -1
Sajt: www.a13x.info


+1 Profil

icon Re: Java and win32....21.08.2003. u 00:53 - pre 251 meseci
Pokusaj ovako:

Code:

...
cmd = 'rundll32 user.exe,ExitWindowsExec';
Process p = Runtime.getRuntime().exec(cmd);
...


Usput, sve o rundll32 i sta mozes s istim programom da pozoves na:

http://www.dx21.com/SCRIPTING/RUNDLL32/REFGUIDE.ASP

Pozdrav,
alex.
Alex: My favorite site is http://localhost/
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
tweet.13x ||
linkedin.13x
 
Odgovor na temu

weB_KiLeR

Član broj: 238
Poruke: 1317
*.panet.co.yu



Profil

icon Re: Java and win32....22.08.2003. u 01:47 - pre 251 meseci
Ja mislim da sam probao i da nije radilo ali sad cu probati ponovo i pokusati da nesto sklepam thanx...
p.s.
Dobar link!!!
 
Odgovor na temu

weB_KiLeR

Član broj: 238
Poruke: 1317
*.panet.co.yu



Profil

icon Re: Java and win32....22.08.2003. u 01:54 - pre 251 meseci
Evo ga radi ovako otvara control panel:

Citat:

import java.io.*;

public class probaWin32
{
public static void main(String[] args)
{
String cmd = "RunDLL32.EXE shell32.dll,Control_RunDLL";
try
{
Process p = Runtime.getRuntime().exec(cmd);
}catch (IOException ioe)
{
System.out.println("Error: " + ioe);
}

}
}


Hvala brate... ne kontam kako nisam uspeo probao sam sve moguce kombinacije...
Verovatno sam se nesto pogubio :(
 
Odgovor na temu

[es] :: Java :: Java and win32....

[ Pregleda: 2735 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.