VB获取资源管理器地址栏内容

来源:互联网 发布:.商标域名 编辑:程序博客网 时间:2024/04/30 11:35

 

http://zhidao.baidu.com/question/84802747.html

VB如何获取窗口地址栏内容

就是比如我打开D盘的aaa文件夹,窗口地址栏就是显示D:/aaa,请问我要怎么用VB写程序来获取窗口地址栏的内容?(不是IE的地址栏)
若打开了两个窗口,比如D盘的aaa文件夹和E盘的bbb文件夹下的ccc文件夹都打开的话,点击command1,text1就显示:
D:/aaa
E:/bbb/ccc
请大家帮忙下,谢谢!

 

  

 http://www.programfan.com/club/showtxt.asp?id=215815

 

 4楼  

我把程序贴出来给你看看吧:
case WM_CREATE:
        GetClientRect(hWnd, &wRect);              // 将程序窗口区域保存到结构变量wRect
        // 建立复选框
        hButtonCi = CreateWindow(TEXT("BUTTON"), TEXT("圆"),
            BS_CHECKBOX | WS_CHILD | WS_VISIBLE,
            wRect.left + 50,
            wRect.bottom - 80,
            75,
            25,
            hWnd,
            (HMENU)0,
            hInst,
            NULL);

        hButtonSq = CreateWindow(TEXT("BUTTON"), TEXT("矩形"),
            BS_CHECKBOX | WS_CHILD | WS_VISIBLE,
            wRect.left + 50,
            wRect.bottom - 40,
            75,
            25,
            hWnd,
            (HMENU)1,
            hInst,
            NULL);
        break;

    case WM_COMMAND:
        if(LOWORD(lParam) == (long)hButtonCi)
        {
            // 读取复选框状态
            nCheck = (WORD)SendMessage(hButtonCi, BM_GETCHECK, 0, 0L);
            if(nCheck == TRUE)
                SendMessage(hButtonCi, BM_SETCHECK, 0, 0L);
            else
                SendMessage(hButtonCi, BM_SETCHECK, 1, 0L);
        }
        else if(LOWORD(lParam) == (long)hButtonSq)
        {
            // 读取复选框状态
            nCheck = (WORD)SendMessage(hButtonSq, BM_GETCHECK, 0, 0L);
            if(nCheck == TRUE)
                SendMessage(hButtonCi, BM_SETCHECK, 0, 0L);
            else
                SendMessage(hButtonSq, BM_SETCHECK, 1, 0L);
        }
        InvalidateRect(hWnd, NULL, TRUE);
        break;

        wmId    = LOWORD(wParam);
        wmEvent = HIWORD(wParam);
        // Parse the menu selections:
        switch (wmId)
        {
        case IDM_ABOUT:
            DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
            break;
        case IDM_EXIT:
            DestroyWindow(hWnd);
            break;
        default:
            return DefWindowProc(hWnd, message, wParam, lParam);
        }
        break;

    case WM_SIZE:
        xc = LOWORD(lParam)/2;
        yc = HIWORD(lParam)/2;

    case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
        // TODO: Add any drawing code here...
        //检查复选框以决定是否绘图
        nCheck = (WORD)SendMessage(hButtonCi, BM_GETCHECK, 0, 0L);
        if(nCheck == TRUE)
            Ellipse(hdc, xc - 100, yc - 100, xc + 100 , yc + 100);

        nCheck = (WORD)SendMessage(hButtonSq, BM_GETCHECK, 0, 0L);
        if(nCheck == TRUE)
        {
            MoveToEx(hdc, xc - 100, yc - 100 ,(LPPOINT)NULL);
            LineTo(hdc, xc + 100, yc - 100);
            LineTo(hdc, xc + 100, yc + 100);
            LineTo(hdc, xc - 100, yc + 100);
            LineTo(hdc, xc - 100, yc - 100);
        }

        EndPaint(hWnd, &ps);
        break;
在后面的WM_SIZE中,控件句柄的值根本没有(与前面得到的句柄不一样),不知道是为什么?

 

 

原创粉丝点击