Source file: /~heha/hs/Funkuhr.zip/src/DlgUeber.c

/********************************
 * Projekt: Funkuhr DCF77	*
 * Eigenschaftsseite „Über“	*
 * Festlegung Erscheinungsbild	*
 * des Tray-Icons		*
 ********************************/

#include "Funkuhr.h"
//#include <intshcut.h> macht immer wieder Probleme, also InetIsOffline() zu Fuß machen.

INT_PTR CALLBACK UeberDlgProc(HWND Wnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
 DefHelpProc(Wnd,Msg,lParam,104);
 switch (Msg) {

// Wie bekommt man webbrowserartige Texte hin? RichEdit! Wirklich?
// Das Laden der riched20.dll ist allerdings ziemlich zeitraubend und Speicher fressend,
// daher bleibt diese Möglichkeit als Overkill links liegen.

// Außerdem gibt es noch ein "SysLink"-Steuerelement.
// Wie's scheint erst ab Windows XP. Wie sieht das aus?

// Feststellung, ob Computer online: InetIsOffline()
// oder _InternetGetConnectedState()
  case WM_INITDIALOG: {
   struct{		// Ich finde die AMD64 URL.LIB nicht! Gibt's anscheinend nicht.
    HINSTANCE hLib;	// Da dies die einzige Funktion aus der url.dll ist, hier mal dynamisch.
    BOOL (WINAPI*InetIsOffline)(DWORD);
   }dp;
   static const char names[]={"url.dll\0" "InetIsOffline\0"};
   if (dynaload((dynaprocs*)&dp,names)) {
    if (!dp.InetIsOffline(0)) EnableDlgItem(Wnd,10,TRUE);
    FreeLibrary(dp.hLib);
   }
  }return TRUE;

  case WM_COMMAND: switch (LOWORD(wParam)) {

   case 10: {
    ShellExecute(Wnd,NULL,
      T("http://www.tu-chemnitz.de/~heha/free"),
      NULL,NULL,SW_SHOW);
   }break;

   case 11: {
    TCHAR s[128];
    lstrcpy(s,T("mailto:"));
    GetWindowText((HWND)lParam,s+7,elemof(s)-7);
    StrCatBuff(s,T("?Subject=Funkuhr.exe"),elemof(s));
    ShellExecute(Wnd,NULL,s,NULL,NULL,SW_SHOW); 
   }break;

  }break;

 }
 return FALSE;
}
Detected encoding: ANSI (CP1252)4
Wrong umlauts? -
Assume file is OEM (CP437) encoded