Page 22 of 46 FirstFirst ... 121314151617181920212223242526272829303132 ... LastLast
Results 211 to 220 of 451

Thread: [Release] SKINbedder BETA 2.99999

  1. #211
    Banned RPM_VR4's Avatar
    Join Date
    Nov 2004
    Location
    L.A.
    Posts
    1,944
    There's not a seperate button to activate the OSK... the OSK is just part of the skin for the "Enter" window. Every window will have it's own skin.

    What do you mean RunWait() is part of the API. Do you mean there is a ShellExectute function that waits. I couldn't find one. Can you get me the name of it?

  2. #212
    My Village Called 0l33l's Avatar
    Join Date
    Jul 2004
    Location
    Berkeley, CA
    Posts
    10,520
    Quote Originally Posted by RPM_VR4
    There's not a seperate button to activate the OSK... the OSK is just part of the skin for the "Enter" window. Every window will have it's own skin.

    What do you mean RunWait() is part of the API. Do you mean there is a ShellExectute function that waits. I couldn't find one. Can you get me the name of it?
    Yeh, I meant that say the Enter button will load up the skin for the Enter window, which will launch the OSK. The OSK will not hog up a lot of resources because its only going to be 2-3 image files.

    WaitForSingleObject. I think that should do the trick. Its in the Windows class in Delphi.
    Link
    Code to wait till application terinates

  3. #213
    Banned RPM_VR4's Avatar
    Join Date
    Nov 2004
    Location
    L.A.
    Posts
    1,944
    Both of those use CreateProcess rather than ShellExecute or ShellExecuteEX. I don't really know much about which to use when and where (remember I used WinExec LOL). Sould I make my own using ShellExecute and WaitForSingleObject, or should I just use one of those with CreateProcess? Do you understand what the difference is and know which would be better for our use?

  4. #214
    My Village Called 0l33l's Avatar
    Join Date
    Jul 2004
    Location
    Berkeley, CA
    Posts
    10,520
    Quote Originally Posted by RPM_VR4
    Both of those use CreateProcess rather than ShellExecute or ShellExecuteEX. I don't really know much about which to use when and where (remember I used WinExec LOL). Sould I make my own using ShellExecute and WaitForSingleObject, or should I just use one of those with CreateProcess? Do you understand what the difference is and know which would be better for our use?
    No clue on the differences, but first make sure that that's the code that we want. It would suck rewritign a lot of the app to find out that it doesn't work properly

    BTW: Take the code with command line parameters

  5. #215
    Banned RPM_VR4's Avatar
    Join Date
    Nov 2004
    Location
    L.A.
    Posts
    1,944
    I got it embedding perfectly every time now. I made my own ShellExecWait(CommandLine) function. It uses your ShellExecuteEX method but I tweaked it a little. It then calls WaitForSingleObject, but when I set its timeout to "INFINATE" (which is how it was in both of the things you linked to), for some reason the AutoIt script doesn't run for 20 seconds. I fixed it by continually calling WaitForSingleObject with a 1ms time-out and doing an Application.ProcessMessages in between each call. Now it works great!

    Code:
    //--- ShellExecWait ----------------------------------------------------------\\
    procedure ShellExecWait(CommandLine: String);
    var
      ProgramSEI: TShellExecuteInfo;
     begin
      with ProgramSEI do
       begin
        cbSize := SizeOf(ProgramSEI);
        fMask := SEE_MASK_NOCLOSEPROCESS or SEE_MASK_DOENVSUBST or SEE_MASK_FLAG_DDEWAIT;
        Wnd := Application.Handle;
        lpVerb := '';
        lpFile := PChar(CommandLine);
        lpParameters := '';
        lpDirectory := PChar(ExtractFilePath(CommandLine));
        nShow := SW_SHOWNORMAL;
        hProcess := Application.Handle;
       end;
      ShellExecuteEx(@ProgramSEI);
      while (WaitForSingleObject(ProgramSEI.hProcess, 1) <> 0) do
        Application.ProcessMessages;
     end;
    //--- End ShellExecWait ------------------------------------------------------//
    I think it will automatically work with parameters passed at the end of the CommandLine, but I will test it out and add a parameters variable if needed.

  6. #216
    My Village Called 0l33l's Avatar
    Join Date
    Jul 2004
    Location
    Berkeley, CA
    Posts
    10,520
    Quote Originally Posted by RPM_VR4
    I got it embedding perfectly every time now. I made my own ShellExecWait(CommandLine) function. It uses your ShellExecuteEX method but I tweaked it a little. It then calls WaitForSingleObject, but when I set its timeout to "INFINATE" (which is how it was in both of the things you linked to), for some reason the AutoIt script doesn't run for 20 seconds. I fixed it by continually calling WaitForSingleObject with a 1ms time-out and doing an Application.ProcessMessages in between each call. Now it works great!

    Code:
    //--- ShellExecWait ----------------------------------------------------------\\
    procedure ShellExecWait(CommandLine: String);
    var
      ProgramSEI: TShellExecuteInfo;
     begin
      with ProgramSEI do
       begin
        cbSize := SizeOf(ProgramSEI);
        fMask := SEE_MASK_NOCLOSEPROCESS or SEE_MASK_DOENVSUBST or SEE_MASK_FLAG_DDEWAIT;
        Wnd := Application.Handle;
        lpVerb := '';
        lpFile := PChar(CommandLine);
        lpParameters := '';
        lpDirectory := PChar(ExtractFilePath(CommandLine));
        nShow := SW_SHOWNORMAL;
        hProcess := Application.Handle;
       end;
      ShellExecuteEx(@ProgramSEI);
      while (WaitForSingleObject(ProgramSEI.hProcess, 1) <> 0) do
        Application.ProcessMessages;
     end;
    //--- End ShellExecWait ------------------------------------------------------//
    I think it will automatically work with parameters passed at the end of the CommandLine, but I will test it out and add a parameters variable if needed.
    Sweet! And I hope it positions perfectly too

  7. #217
    Banned RPM_VR4's Avatar
    Join Date
    Nov 2004
    Location
    L.A.
    Posts
    1,944
    Yep, as long as you wait for the AutoIt script to complete so that the iGuidance map window is visable before you embed it, then it is embedded, positioned, and sized perfectly everytime.

    I added this code to the above procedure which make it automatically extract parameters from the CommandLine variable:

    Code:
      CLParams: String;
      PrevSpaceIndex: Integer;
     begin
      CLParams := '';
      while not(FileExists(CommandLine)) and (pos(' ', CommandLine) > 0) do
       begin
        PrevSpaceIndex := pos(' ', CommandLine);
        while (pos(' ', copy(CommandLine, PrevSpaceIndex + 1, length(CommandLine))) > 0) do
          PrevSpaceIndex := PrevSpaceIndex + pos(' ', copy(CommandLine, PrevSpaceIndex + 1, length(CommandLine)));
        CLParams := copy(CommandLine, PrevSpaceIndex + 1, length(CommandLine)) + ' ' + CLParams;
        CommandLine := copy(CommandLine, 1, PrevSpaceIndex - 1);
       end;
      if (CLParams <> '') then
       begin
        CLParams := copy(CLParams, 1, length(CLParams) - 1);
        if not(FileExists(CommandLine)) then
         begin
          CommandLine := CommandLine + ' ' + CLParams;
          CLParams := '';
         end;
       end;
    The only drawback is that if you do use CommandLine parameters, you also have to have the full path ("explorer.exe" will work, and "c:\windows\explorer.exe c:\" will work, but "explorer.exe c:\" would not work). I can live with that.

    EDIT: Since I am now using ShellExecuteEX, you can run .au3's or any file with a shell association now too. Yay! Now that I have the embedding down, I am ready to get back in to button-code. I'm finally making progress with V3. This will be soooo much better than the previous SKINbedder versions!!!

    PS: I'm still looking for a SKIN artist to work with if we are going to release V3 with all the iG sub-menus pre-SKINNED.

  8. #218
    Maximum Bitrate d_sellers1's Avatar
    Join Date
    Mar 2002
    Location
    Austin, Texas
    Posts
    856
    Been away for a while. Glad to see you guys keeping up the good work without me. I've played around a bit with BETA 2.5 and it took forever to get the screen set right, but I got it.

    One thing that I want everyone to take note of that I hadn't seen mentioned, is that you really need to determine your nudge and window settings from within the program you're gonna be running (ie., CF or RR). Just because you get it set right in Sb doesn't mean it's gonna embed properly in your frontend. I have two Sb BETA 2.5 folders; one for RR and one for CF since they needed different window and nudge settings.

    Can't wait for BETA 3.

    Derek
    Progress [||-------]
    View my Worklog to see some of my progress.
    Downgraded Progress - Starting with another car... 09/13/06

  9. #219
    Maximum Bitrate
    Join Date
    Jan 2004
    Location
    NYC
    Posts
    849
    Quote Originally Posted by RPM_VR4
    PS: I'm still looking for a SKIN artist to work with if we are going to release V3 with all the iG sub-menus pre-SKINNED.
    Where are you PS guys!!!

    Cant wait for Beta3

  10. #220
    My Village Called 0l33l's Avatar
    Join Date
    Jul 2004
    Location
    Berkeley, CA
    Posts
    10,520
    Quote Originally Posted by RPM_VR4
    Yep, as long as you wait for the AutoIt script to complete so that the iGuidance map window is visable before you embed it, then it is embedded, positioned, and sized perfectly everytime.

    I added this code to the above procedure which make it automatically extract parameters from the CommandLine variable:

    The only drawback is that if you do use CommandLine parameters, you also have to have the full path ("explorer.exe" will work, and "c:\windows\explorer.exe c:\" will work, but "explorer.exe c:\" would not work). I can live with that.

    EDIT: Since I am now using ShellExecuteEX, you can run .au3's or any file with a shell association now too. Yay! Now that I have the embedding down, I am ready to get back in to button-code. I'm finally making progress with V3. This will be soooo much better than the previous SKINbedder versions!!!

    PS: I'm still looking for a SKIN artist to work with if we are going to release V3 with all the iG sub-menus pre-SKINNED.
    Sweet! We don't really care if you need to enter the directory, because most people enter in the full directory anyways

    PM WebDog about the skin. He can make us a OEM looking skin, and that would be perfect

Similar Threads

  1. SKINbedder embedding problem
    By chuckster in forum Road Runner
    Replies: 12
    Last Post: 07-26-2005, 07:49 PM
  2. [Release] SKINbedder v2
    By 0l33l in forum SkinBedder
    Replies: 242
    Last Post: 07-05-2005, 05:01 AM
  3. [Release] iGSkinner BETA 3.9.5
    By 0l33l in forum SkinBedder
    Replies: 631
    Last Post: 06-26-2005, 03:40 PM
  4. [Release] SKINbedder 1.0
    By RPM_VR4 in forum SkinBedder
    Replies: 41
    Last Post: 06-26-2005, 05:03 AM
  5. [RELEASE] NMC 0.7 BETA 2 -> introducing ACTIONS and NCS !
    By netsuo in forum NeoCar Media Center
    Replies: 22
    Last Post: 05-05-2005, 12:34 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •