Avatar billede dkkarpen Nybegynder
18. marts 2003 - 15:35 Der er 8 kommentarer og
2 løsninger

.exe fil til åbning af url i IE

Jeg er på FULDSTÆNDIG bar bund. Men den URL der skal åbnes er pc afhængig. Forstået på den måde at .exe filen skal åbne en url der hedder:

http://pcnavn/mitdir

hvor pcnavn er pcens/serverens navn.

1000 tak!
Avatar billede swaxi Nybegynder
18. marts 2003 - 16:37 #1
du må nok forklare lidt nærmere. forstår jeg ret, hvis du ønsker en eksekvérbar fil, der starter internet-explorer og beder den om at surfe hend til en given lokation ?
Avatar billede dkkarpen Nybegynder
18. marts 2003 - 16:39 #2
Præcis
Avatar billede dkkarpen Nybegynder
18. marts 2003 - 17:02 #3
Kan du lave det?
Avatar billede dkkarpen Nybegynder
18. marts 2003 - 17:46 #4
I VB ville det være noget med:

Option Explicit
Private Const SW_SHOWNORMAL = 1
Private Declare Function ShellExecute Lib "shell32.dll" Alias _
  "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As _
  String, ByVal lpFile As String, ByVal lpParameters As String, _
  ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Sub Command1_Click()
  Dim sURL As String
  sURL = http://pcnavn/mitdir
  Call ShellExecute(Me.hwnd, "open", sURL, "", App.Path, SW_SHOWNORMAL)
End Sub

Men jeg vil have en .exe fil der kører funktionen automatisk.
Avatar billede dkkarpen Nybegynder
18. marts 2003 - 18:40 #5
Kan man i det hele taget trække pc navnet (som i ASP) i vb?
Avatar billede swaxi Nybegynder
18. marts 2003 - 18:50 #6
følgende c++ kode virker for mig (er ikke sikker på om det osse gør det på en nt/2k/xp) :
// surph.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

LONG GetRegKey(HKEY key, LPCTSTR subkey, LPTSTR retdata)
{
    HKEY hkey;
    LONG retval = RegOpenKeyEx(key, subkey, 0, KEY_QUERY_VALUE, &hkey);

    if (retval == ERROR_SUCCESS) {
        long datasize = MAX_PATH;
        TCHAR data[MAX_PATH];
        RegQueryValue(hkey, NULL, data, &datasize);
        lstrcpy(retdata,data);
        RegCloseKey(hkey);
    }

    return retval;
}

HINSTANCE GotoURL(LPCTSTR url, int showcmd)
{
    TCHAR key[MAX_PATH + MAX_PATH];

    // First try ShellExecute()
    HINSTANCE result = ShellExecute(NULL, _T("open"), url, NULL,NULL, showcmd);

    // If it failed, get the .htm regkey and lookup the program
    if ((UINT)result <= HINSTANCE_ERROR) {

        if (GetRegKey(HKEY_CLASSES_ROOT, _T(".htm"), key) == ERROR_SUCCESS) {
            lstrcat(key, _T("\\shell\\open\\command"));

            if (GetRegKey(HKEY_CLASSES_ROOT,key,key) == ERROR_SUCCESS) {
                TCHAR *pos;
                pos = _tcsstr(key, _T("\"%1\""));
                if (pos == NULL) {                    // No quotes found
                    pos = strstr(key, _T("%1"));      // Check for %1, without quotes
                    if (pos == NULL)                  // No parameter at all...
                        pos = key+lstrlen(key)-1;
                    else
                        *pos = '\0';                  // Remove the parameter
                }
                else
                    *pos = '\0';                      // Remove the parameter

                lstrcat(pos, _T(" "));
                lstrcat(pos, url);
                result = (HINSTANCE) WinExec(key,showcmd);
            }
        }
    }

    return result;
}

int main(int argc, char* argv[])
{
    if (argc==2) {
        return 31 < (int)GotoURL(argv[1], SW_SHOW);
    }
    return -1;
}
Avatar billede swaxi Nybegynder
18. marts 2003 - 18:50 #7
hvis du vil have exe-filen, så smid lige en mail, jeg kan sende til
Avatar billede dkkarpen Nybegynder
18. marts 2003 - 18:52 #8
klj@johansen-design.dk
Avatar billede dkkarpen Nybegynder
18. marts 2003 - 19:12 #9
Nevermind. Jeg har selv løst det i VB. Det kunne dog være rart hvis der var en der kunne fortælle mig hvordan jeg lukker min form igen.


Option Explicit
Private Const SW_SHOWNORMAL = 1
Private Declare Function ShellExecute Lib "shell32.dll" Alias _
  "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As _
  String, ByVal lpFile As String, ByVal lpParameters As String, _
  ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
 
  Private Declare Function GetComputerName Lib "Kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long

 
Public Function ComputerName() As String
  Dim lpBuffer As String, nDummy As Long, nSize As Long
  nSize = 255
  lpBuffer = Space$(nSize)
  nDummy = GetComputerName(lpBuffer, nSize)
  ComputerName = Left(lpBuffer, nSize)
End Function
 
 
Private Sub Form_Load()
  Dim sURL As String
  sURL = "http://" & ComputerName & "/mitdir"
  Call ShellExecute(Me.hwnd, "open", sURL, "", App.Path, SW_SHOWNORMAL)
End Sub
Avatar billede dkkarpen Nybegynder
18. marts 2003 - 19:18 #10
Den løste jeg med en "End" ;-) Vi deler i porten. Men glem filen...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester