Can I call Windows API in java?

How can I?

you can use JNI. I do not know much about it, but there are also some tools that make it simplier to you. One of the most famous is one call JIntegra.You pass to it a dll and it will generate for you the Java classes needed to access the API.

Similar Messages

  • Using Windows API in Java

    hi,
    How can i use windows api in java.
    regards
    Malik Faisal

    By writing a wrapper in JNI.
    JNI Tutorial.

  • How do i invoke Windows APIs in JAVA??? Please help.

    Is there a way to invoke Windows APIs in Java??? Please help......Thankx

    Short answer, you don't. However, you should look at Java Native Interface (JNI) very closely. It will allow you to wrap the Win32 API calls so that Java can call your wrapper methods. Another side to it, although not necessarily related to your question is a JavaBeans to COM bridge that you may want to look into as well, though it's probably not going to be a solution for what you're wanting to do right now.

  • How can i execute Spaces API in java main class?

    Hi
    I am able to execute Spaces API through portal application. However if i try to execute it in java main class, its throwing an exception
    "SEVERE: java.io.FileNotFoundException: .\config\jps-config.xml (The system cannot find the path specified)"
    oracle.wsm.common.sdk.WSMException: WSM-00145 : Keystore location or path can not be null or empty; it must be configured through JPS configuration or policy configuration override.
    How can i set this path, so that i can execute Spaces API from java main class.
    Need this main class to configure in cron job, to schedule a task.
    Regards
    Raj

    Hi Daniel
    Currently i have implemented create functionality in my portal application using Spaces API, which is working fine. Now the requirement is, i need to implement a "Cron Job" to schedule a task, which will execute to create space(for example once in a week). Cron job will execute only the main method. So I have created java main class, in which I have used Spaces API to perform create space operation. Then it was giving exception.
    Later I understood the reason, as I am executing the Space API with a simple JSE client, its failing since a simple java program has no idea of default-keystore.jks, jps-config.xml, Security Policy. Hence i have included those details in main class. Now I am getting new error,
    SEVERE: WSM-06303 The method "registerListener" was not called with required permission "oracle.wsm.policyaccess"
    For your reference i have attached the code below, please help. How can i use Spaces API in java main method(i mean public static void main(String[] args) by giving all required information.
        public static void main(String[] args) throws InstantiationException,
                                                      GroupSpaceWSException,
                                                      SpacesException {
            Class2 class2 = new Class2();
            GroupSpaceWSContext context = new GroupSpaceWSContext();
            FactoryFinder.init(null);
            context.setEndPoint("http://10.161.226.30/webcenter/SpacesWebService");
            context.setSamlIssuerName("www.oracle.com");
            context.setRecipientKeyAlias("orakey");
            Properties systemProps = System.getProperties();
            systemProps.put("java.security.policy","oracle/wss11_saml_or_username_token_with_message_protection_client_policy");
            systemProps.put("javax.net.ssl.trustStore","C:\\Oracle\\Middleware11.1.7\\wlserver_10.3\\server\\lib\\cacerts.jks");
    systemProps.put("oracle.security.jps.config","C:\\Oracle\\Middleware11.1.7\\user_projects\\domains\\workspace\\system11.1.1.7.40.64.93\\DefaultDomain\\config\\fmwconfig\\jps-config.xml");
            systemProps.put("javax.net.ssl.keyStore",C:\\Oracle\\Middleware11.1.7\\user_projects\\domains\\workspace\\system11.1.1.7.40.64.93\\DefaultDomain\\config\\fmwconfig\\consumer.jks");
            systemProps.put("javax.net.ssl.keyStorePassword", "Test12");
            System.setProperties(systemProps);
            GroupSpaceWSClient groupSpaceWSClient;
            try {
                groupSpaceWSClient = new GroupSpaceWSClient(context);
                System.out.println("URL: " +
                                   groupSpaceWSClient.getWebCenterSpacesURL());
                //delete the Space
                List<String> groupSpaces = groupSpaceWSClient.getGroupSpaces(null);
                System.out.println("GroupSpaces:: " + groupSpaces.size());
            } catch (Exception e) {
    Regards
    Raj

  • Re: Calling Windows API from Tool

    Hi,
    If it's only for the UserName on NT you can get the environment variable
    USERNAME.
    Hope this helps,
    Daniel Nguyen
    Freelance Forte Consultant
    Url : http://perso.club-internet.fr/dnguyen/
    Tim Sawyer a &eacute;crit:
    Hi George,
    I think you need to find out which Windows DLL implements the function and
    then wrapper it, using Fort&eacute;'s C Wrappering technique. I'm going to be
    doing this for the GetUserName() function, so we can login to our
    application automatically, using the username that the user logged into NT
    with.
    Hope this helps!
    Tim Sawyer
    PanCredit
    Leeds, UK.
    From: Aberdour George <[email protected]>
    Date: Thu, 6 May 1999 09:08:03 +1000
    Subject: Calling Windows API from Tool
    Hi,
    Does anyone know how to call Windows API calls such as WinExec,
    CreateProcess, RegSetValue, etc directly from TOOL ?
    These are just examples calls. I know some Windows API calls can be called
    via equivalent OperatingSystem method calls, but I would really like toknow
    if it is possible to call Windows API routines directly.
    Thanks in advance,
    George Aberdour
    TAFE NSW-
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>-
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

    I'm afraid we have to make it work for NT, 95 and probably 98 too, so we're
    looking for something a bit more robust than the environment variable.
    Thanks,
    Tim Sawyer
    PanCredit
    Leeds, UK.
    From: Daniel Nguyen[SMTP:[email protected]]
    Reply To: [email protected]
    Sent: 07 May 1999 20:40
    To: Tim Sawyer
    Cc: '[email protected]'; '[email protected]'
    Subject: Re: Calling Windows API from Tool
    Hi,
    If it's only for the UserName on NT you can get the environment variable
    USERNAME.
    Hope this helps,
    Daniel Nguyen
    Freelance Forte Consultant
    Url : http://perso.club-internet.fr/dnguyen/
    Tim Sawyer a &eacute;crit:
    Hi George,
    I think you need to find out which Windows DLL implements the functionand
    then wrapper it, using Fort&eacute;'s C Wrappering technique. I'm going to be
    doing this for the GetUserName() function, so we can login to our
    application automatically, using the username that the user logged intoNT
    with.
    Hope this helps!
    Tim Sawyer
    PanCredit
    Leeds, UK.
    From: Aberdour George <[email protected]>
    Date: Thu, 6 May 1999 09:08:03 +1000
    Subject: Calling Windows API from Tool
    Hi,
    Does anyone know how to call Windows API calls such as WinExec,
    CreateProcess, RegSetValue, etc directly from TOOL ?
    These are just examples calls. I know some Windows API calls can be
    called
    via equivalent OperatingSystem method calls, but I would really like toknow
    if it is possible to call Windows API routines directly.
    Thanks in advance,
    George Aberdour
    TAFE NSW-
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

  • Calling Windows API From Forms.

    For example, how can i call the MessageBoxA function from user32.dll whilst working in an Oracle Forms Application.
    Thank you.

    You shall have to use the WEBUTIL_C_API.Invoke_Int function for this purpose. Please see the following example that Locks the workstation.
    -- IMPORTANT
    -- Be sure to review the following My Oracle Support Note
    -- Doc ID: 285331.1 - "Exception When Calling PASCAL style Function Via WebUTIL_C_API"
    declare
      rc pls_integer;
         f_handle WEBUTIL_C_API.FUNCTIONHANDLE;
         args Webutil_c_api.parameterlist;
         winSysDir varchar2(255) := Client_Win_API_ENVIRONMENT.Get_Windows_Directory || '\system32\';
    --- IMPORTANT ---
    -- WEBUTIL_C_API CURRENTLY ONLY SUPPORTS CALLING C STYLE LIBRARIES, THEREFORE SOME WINDOWS LIBRARIES CANNOT BE CALLED.
    -- ADDITIONALLY, IT IS NOT RECOMMENDED THAT YOU ATTEMPT TO CALL FUNCTIONS WHICH REQUIRE ARGS.
    -- USE EXTREME CAUTION WHEN CALLING WINDOWS APIS.
    -- BE SURE TO THOROUGHLY TEST BEFORE MOVING TO PRODUCTION
    -- LOOK CLOSELY AT BOTH STABILITY AND MEMORY USAGE AS SOME CALLS
    -- MAY RESULT IN THE APPEARANCE OF A MEMORY LEAK.
    -- This call to USER32.DLL will reference the LOCKWORKSTATION function.
    -- If the current OS user does not have a password configured, the workstation may not lock.
    -- The Windows LockWorkStation function requires no args to be passed in.
    -- WebUtil expects something to be passed in. So an empty paramlist will be created.
    begin
    If webutil_clientinfo.get_operating_system LIKE 'Win%' Then          
         f_handle := WEBUTIL_C_API.register_function(winSysDir||'user32.dll','LockWorkStation');
         args := WEBUTIL_C_API.create_parameter_list;          
    If the function succeeds, the return value is nonzero. Because the function executes asynchronously,
    a nonzero return value indicates that the operation has been initiated. It does not indicate whether
    the workstation has been successfully locked.  If the function fails, the return value is zero.
        http://msdn.microsoft.com/en-us/library/aa376875(v=VS.85).aspx
         rc := WEBUTIL_C_API.Invoke_Int(winSysDir||'user32.dll','LockWorkStation',args);     
    End if;
      WEBUTIL_C_API.Destroy_Parameter_List(args);
      WEBUTIL_C_API.Deregister_Function(f_handle);               
      SYNCHRONIZE;
    end;

  • Can I call an interface from java

    Dear All,
    Can I call an interface from java in ODI ?
    Best Regards
    Arc

    Short answer, Yes.
    Long answer - you must create a scenario from the interface (the scenario is the "executable" code), right-mouse-button on the interface in the tree and "Generate Scenario". This can then be called using the invocation api this is documented in your <installationdirectry>/oracledi/doc/sdk/invocation. This points you at all the necessary classes etc to use.

  • Where can i get  MySQL api for java?

    I'm new to jsp,
    where can i get MySQL api for java?
    thanks

    You mean the jdbc driver for mysql ? if yes, www.mysql.com/downloads/api-jdbc.html

  • Can we call sql function  in java

    as i know i can call stored procedures ,but can i call pl/sql functions.

    Using JDBC you can execute any valid sql statement.
    For a pl/sql function you use a CallableStatement and the syntax:
    {?= call <procedure-name>[<arg1>,<arg2>, ...]}
    http://java.sun.com/j2se/1.5.0/docs/api/java/sql/CallableStatement.html

  • Can we call DLL method in jave code

    hi,
    can we call DLL file method in java Code or program.

    See
    http://forum.java.sun.com/thread.jsp?forum=52&thread=179765

  • How can I call external exe in java

    Hi ,
    Is It Possible to call external exe in java.
    I read Runtime.exe("some exe") but actually my exe expects some input to process for that how can i pass the input to my exe and how can get the response from exe to my java class.
    any sample code is welcome.
    Thanks
    Babu H

    example
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.KeyAdapter;
    import java.awt.event.KeyEvent;
    import java.io.*;
    public class RuntimeExample extends JFrame {
        private JTextArea textArea;
        private JTextField textField;
        private PrintWriter writer;
        public RuntimeExample()
            init();
            initProcess();
        public void init()
            textArea = new JTextArea(20, 80);
            textArea.setEditable(false);
            textField = new JTextField(30);
            textField.addKeyListener(new KeyAdapter()
                public void keyPressed(KeyEvent event) {
                    if (event.getKeyCode() == KeyEvent.VK_ENTER)
                        if (writer != null)
                            textArea.setText("");
                            writer.print(textField.getText() + "\r\n");
                            writer.flush();
                            textField.setText("");
            Container container = getContentPane();
            JScrollPane scrollPane = new JScrollPane();
            scrollPane.setViewportView(textArea);
            container.add(scrollPane, BorderLayout.CENTER);
            container.add(textField, BorderLayout.SOUTH);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            pack();
            textField.grabFocus();
            setVisible(true);
        public static void main(String[] args) {
            new RuntimeExample();
        public void initProcess()
            Runtime rt = Runtime.getRuntime();
            try
                //Process p = rt.exec(new String [] {"cmd", "/C", textField.getText()});
                //textArea.setText("");
                //textField.setText("");
                Process p = rt.exec("cmd");
                writer = new PrintWriter(p.getOutputStream());
                Thread thread1 = new Thread(new StreamReader(p.getErrorStream()));
                Thread thread2 = new Thread(new StreamReader(p.getInputStream()));
                thread1.start();
                thread2.start();
                System.out.println("Exit Value = " + p.waitFor());
            catch (Exception ex)
                textArea.append(ex.getMessage());
                ex.printStackTrace();
        public class StreamReader implements Runnable
            InputStream is;
            public StreamReader(InputStream is)
                this.is = is;
            public void run()
                try
                    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
                    String data;
                    while ((data = reader.readLine()) != null)
                        textArea.append(data + "\n");
                    reader.close();
                catch (IOException ioEx)
                    ioEx.printStackTrace();
    }you can pass input to the exe by using getOutputStream() from Process and get the output from getInputStream() from Process

  • How can we call WinAPI's from java... any idea... its urgent

    Hi all,
    I am facing a problem, I want to call Win API's form Java. any idea..
    Any win API.. like GetUserNameA.... (it fetches current user logged in).
    Its bit urgent guys... i have always counted on u guys...
    Thx & Regards
    @mit

    I needed to do exactly this; use getUserNameEx, a couple of weeks back and I asked, then solved it myself and posted my code. A forum search should turn it up,
    The only method, of course, is to use JNI and do the call from C.
    Found it:
    http://forum.java.sun.com/thread.jspa?threadID=747248&tstart=585
    Message was edited by:
    malcolmmc

  • How can I call ora:appendToList from java snippet?

    I want to assign a list of user from User Task A to User Task B, but I don't know how to call ora:appendToList from java snippet, and are there any better ways to solve this situation?

    Hi Rakesh,
    Thank you for your help.
    For issue 1, for example, user jcooper apply a vacation, and the request goes to his manager jstein,
    and jstein dispatch the task to mtwain and rsteven for parallel approval, (this is just for example, in
    some case, the manager can use the reassign function), so I use simple workflow pattern for manager approval,
    and parallel workflow pattern for parallel approval, but in my situation, the user for parallel approval is
    uncertain, need select by manager jstein, so I want to know how to assign the user from java code to bpel process.
    The following is how I solve the problem now, put the user list string in flexString1 of simple workflow task,
    then allocate the array for parallel assigneeUsers, then use setVariableData assign the value, it can do the job,
    but the code is awful, I want to know how to do it in some better way.
    <assign name="copyPayloadFromTask">
    <copy>
    <from expression="ora:countNodes( 'inputVariable','task','/task:task /task:assigneeUsers')"/>
    <to variable="currentLength"/>
    </copy>
    </assign>
    <sequence>
    <bpelx:exec name="Java_Embedding_2" language="Java" version="1.4"><![CDATA[
    Element ele=(Element)getVariableData("inputVariable","task","/task:task/task:flexString1");
    String users=ele.getNodeValue();
    String[] userArray=users.split(",");
    setVariableData("arrayLength",new Integer(userArray.length));
    ]]>
    </bpelx:exec>
    <while name="While_1" condition=" (bpws:getVariableData('currentLength')) &lt; (bpws:getVariableData('arrayLength')) ">
    <assign name="Assign_1">
    <copy>
    <from expression="ora:appendToList('inputVariable','task',' /task:task/task:assigneeUsers', string( 'test'))"/>
    <to variable="oraBPMTemporaryVariable"/>
    </copy>
    <copy>
    <from expression="ora:countNodes( 'inputVariable','task','/task:task /task:assigneeUsers')"/>
    <to variable="currentLength"/>
    </copy>
    </assign>
    </while>
    <bpelx:exec name="Java_Embedding_1" language="Java" version="1.4"><![CDATA[
    Element ele=(Element)getVariableData("inputVariable","task","/task:task/task:flexString1");
    String users=ele.getNodeValue();
    String[] userArray=users.split(",");
    for(int i=0;i<userArray.length;i++){
    setVariableData("inputVariable","task","/task:task/task:assigneeUsers["+(i+1)+"]",userArray);
    }]]>
    </bpelx:exec>
    Thanks,
    Ming

  • Can I call extenal API in Acrobat javascript?

    I have some methods in a dll. Can I call it somehow in in Acrobat javascript?

    Thank you Leo.

  • ADF: Can i call javascript function from java clsss method in ADF?

    Hi,
    I want to call javascript function in Java class method, is it possible in ADF? , if yes then how?
    or I need to use Java 6 feature directely?
    Regards,
    Deepak

    private void writeJavaScriptToClient(String script)
    FacesContext fctx = FacesContext.getCurrentInstance();
    ExtendedRenderKitService erks = Service.getRenderKitService(fctx, ExtendedRenderKitService.class);
    erks.addScript(fctx, script);
    }usage
    StringBuilder script = new StringBuilder();
    script.append( "var popup = AdfPage.PAGE.findComponentByAbsoluteId('p1');");
    script.append("if(popup != null){"); script.append("popup.show();"); script.append("}");
    writeJavaScriptToClient(script.toString());Timo

Maybe you are looking for