《windows程序设计》 中ddl原程序执行后出现“调试对话”对话框?
   “输入可执行文件名___________”这里的可执行文件名应该填什么 ?
这类程序怎么运行,怎么看结果的??
如像不同于一般的那种windows程序那样一运行就能看到一个界面结果??实在摸不着头脑,各位大下,请教!小弟感激不尽,谢谢了!!!

解决方案 »

  1.   

    ddl??
    dll??如果是dll,当然是没有窗口的咯你要自己再建一个客户端程序再调试你的dll
      

  2.   

    哈哈,是dll
    我把原代码贴出来,大家帮忙看一看,那EDTREST.C不是客户端程序吗????
    /*--------------------------------------------------------
       EDRTEST.C -- Program using EDRLIB dynamic-link library
                    (c) Charles Petzold, 1998
      --------------------------------------------------------*/#include <windows.h>
    #include "edrlib.h"LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                        PSTR szCmdLine, int iCmdShow)
    {
         static TCHAR szAppName[] = TEXT ("StrProg") ;
         HWND         hwnd ;
         MSG          msg ;
         WNDCLASS     wndclass ;     wndclass.style         = CS_HREDRAW | CS_VREDRAW ;
         wndclass.lpfnWndProc   = WndProc ;
         wndclass.cbClsExtra    = 0 ;
         wndclass.cbWndExtra    = 0 ;
         wndclass.hInstance     = hInstance ;
         wndclass.hIcon         = LoadIcon (NULL, IDI_APPLICATION) ;
         wndclass.hCursor       = LoadCursor (NULL, IDC_ARROW) ;
         wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
         wndclass.lpszMenuName  = NULL ;
         wndclass.lpszClassName = szAppName ;
         
         if (!RegisterClass (&wndclass))
         {
              MessageBox (NULL, TEXT ("This program requires Windows NT!"),
                          szAppName, MB_ICONERROR) ;
              return 0 ;
         }
         
         hwnd = CreateWindow (szAppName, TEXT ("DLL Demonstration Program"),
                              WS_OVERLAPPEDWINDOW,
                              CW_USEDEFAULT, CW_USEDEFAULT,
                              CW_USEDEFAULT, CW_USEDEFAULT,
                              NULL, NULL, hInstance, NULL) ;
         
         ShowWindow (hwnd, iCmdShow) ;
         UpdateWindow (hwnd) ;
         
         while (GetMessage (&msg, NULL, 0, 0))
         {
              TranslateMessage (&msg) ;
              DispatchMessage (&msg) ;
         }
         return msg.wParam ;
    }LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
         HDC         hdc ;
         PAINTSTRUCT ps ;
         RECT        rect ;
         
         switch (message)
         {
         case WM_PAINT:
              hdc = BeginPaint (hwnd, &ps) ;
              
              GetClientRect (hwnd, &rect) ;
              
              EdrCenterText (hdc, &rect, 
                             TEXT ("This string was displayed by a DLL")) ;
              
              EndPaint (hwnd, &ps) ;
              return 0 ;
              
         case WM_DESTROY:
              PostQuitMessage (0) ;
              return 0 ;
         }
         return DefWindowProc (hwnd, message, wParam, lParam) ;
    }/*----------------------
       EDRLIB.H header file
      ----------------------*/#ifdef __cplusplus
    #define EXPORT extern "C" __declspec (dllexport)
    #else
    #define EXPORT __declspec (dllexport)
    #endifEXPORT BOOL CALLBACK EdrCenterTextA (HDC, PRECT, PCSTR) ;
    EXPORT BOOL CALLBACK EdrCenterTextW (HDC, PRECT, PCWSTR) ;#ifdef UNICODE
    #define EdrCenterText EdrCenterTextW
    #else
    #define EdrCenterText EdrCenterTextA
    #endif/*-------------------------------------------------
       EDRLIB.C -- Easy Drawing Routine Library module
                   (c) Charles Petzold, 1998
      -------------------------------------------------*/#include <windows.h>
    #include "edrlib.h"int WINAPI DllMain (HINSTANCE hInstance, DWORD fdwReason, PVOID pvReserved)
    {
         return TRUE ;
    }EXPORT BOOL CALLBACK EdrCenterTextA (HDC hdc, PRECT prc, PCSTR pString)
    {
         int  iLength ;
         SIZE size ;     iLength = lstrlenA (pString) ;     GetTextExtentPoint32A (hdc, pString, iLength, &size) ;     return TextOutA (hdc, (prc->right - prc->left - size.cx) / 2,
                               (prc->bottom - prc->top - size.cy) / 2,
                          pString, iLength) ;
    }EXPORT BOOL CALLBACK EdrCenterTextW (HDC hdc, PRECT prc, PCWSTR pString)
    {
         int  iLength ;
         SIZE size ;     iLength = lstrlenW (pString) ;     GetTextExtentPoint32W (hdc, pString, iLength, &size) ;     return TextOutW (hdc, (prc->right - prc->left - size.cx) / 2,
                               (prc->bottom - prc->top - size.cy) / 2,
                          pString, iLength) ;
    }
      

  3.   

    是的
    EDTREST.C不是客户端程序吗????是的,
      

  4.   

    那请问 ->执行  后出现 “调试对话”
       “输入可执行文件名___________”这是干什么用的呢??
    是告诉你这个DLL是给那个可执行文件名来使用的~~~
    让你选择该可执行文件。