Share via

Missing vertical lines in Windows Explorer

Anonymous
2009-10-02T13:13:02+00:00

Windows Explorer is missing vertical lines in the folder tree view. These lines are for distinguishing the various expanded folders from each other. Currently we have to hold a sheet of paper up to the screen to see where the folders line up. Vista and XP had this but we can't seem to find where to enable it in 7. Also, when not hovering over the navigation panel the arrows indicating which folders are expandable disappear. This makes is much more time consuming and error-prone when looking for which folders contain additional folders. Since we are developers (and  even non-developers) but work with files constantly this is a huge annoyance and brings down our productivity so much that we either need to downgrade back to XP or find another alternative.

Windows for home | Previous Windows versions | Files, folders, and storage

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments

Answer accepted by question author

Anonymous
2009-10-12T09:55:32+00:00

XP might be what suits you best. If Explorer is your chosen tool for managing data, 7 won't do that (making the navigation lines for folders). If I were still developing, I would be using a query of my SQL server to define data sets, but if Explorer is your chosen tool, there is nothing wrong with using XP. If you have hardware for virtualization, you can install 'XP-Mode' and stay with the vastly easier to use 7 for everything else.


Rating posts helps other usersMark L. Ferguson MS-MVP

Was this answer helpful?

0 comments No comments

9 additional answers

Sort by: Most helpful
  1. Anonymous
    2014-07-17T13:48:41+00:00

    Actually, the answer is Yes and No. I am a developer and search the Internet for various code snippets depending on my needs and happen to stumble across this forum. After reading the responses, I decided to try all the different things to turn the lines on and to my surprise, I could not find a way to do this in Windows 7 as an end user. As a developer, I do know that Explorer uses a SysTreeView32 control for displaying their folders and files inside the application. Because of this, the ability to have vertical lines still exist but apparently is inaccessible by the end user. To test this, I wrote a program in C++ to simply send the TVS_HASLINES flag to the SysTreeView32 control if that flag was missing. The result was as expected in that, the lines now appeared. The program simply searches through all running applications and checks for Explorer.exe, when found, search that window for all SysTreeView32 controls then queries them to see if they are already using the TVS_HASLINES flag. I do this so that the flag is not set twice from a previous search. The program does not modify your system or change anything in anyway but rather acts as a bridge to an already existing feature. I would post the application but have no way to host the program. I wrote it in Visual C++ using a Win32 application. Below is the source code to achieve this in Windows Vista,7, etc.

    #include <Windows.h>

    #include <CommCtrl.h>

    #include <Psapi.h>

    #include <tchar.h>

    #pragma comment(lib, "psapi.lib")

    #pragma warning(disable:4996)

    BOOL CALLBACK EnumChildProc(

      _In_  HWND hwnd,

      _In_  LPARAM lParam

    )

    {

    char className[256] = "";

    int res = ::GetClassNameA(hwnd, className, (int)sizeof(className));

    if (!stricmp(className, "SysTreeView32"))

    {

    // Found a tree control so let's check it's style.

    long lStyle = GetWindowLong(hwnd, GWL_STYLE);

    if (lStyle & TVS_HASLINES)

    {

    // Already has lines.

    }

    else

    {

    // Add lines.

    long prev = ::SetWindowLong(hwnd, GWL_STYLE, lStyle | TVS_HASLINES);

    }

    }

    return TRUE; // Keep enumerating.

    }

    BOOL CALLBACK EnumWindowsProc(

      _In_  HWND hwnd,

      _In_  LPARAM lParam

    )

    {

    DWORD PID       = 0L;

    DWORD creatorID = ::GetWindowThreadProcessId(hwnd, &PID);

    if (PID)

    {

    bool   isExplorer       = false;

    char   imageName[2048L] = "";

    HANDLE hProc            = ::OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, PID);

    if (hProc)

    {

    ::GetProcessImageFileNameA(hProc, imageName, (DWORD)sizeof(imageName));

    LPTSTR fname    = _tcsrchr(imageName, _T('\'));

    if (fname)

    {

    fname++;

    if (!stricmp(fname, "explorer.exe"))

    {

    isExplorer = true; // Found an explorer process.

    }

    }

    else

    {

    if (!stricmp(imageName, "explorer.exe"))

    {

    isExplorer = true; // Found an explorer process.

    }

    }

    ::CloseHandle(hProc);

    }

    if (isExplorer)

    {

    ::EnumChildWindows(hwnd, EnumChildProc, NULL); // Attempt to find a child SysTreeView32 control.

    }

    }

    return TRUE; // Keep enumerating.

    }

    int CALLBACK WinMain(_In_  HINSTANCE hInstance, _In_  HINSTANCE hPrevInstance, _In_  LPSTR lpCmdLine, _In_  int nCmdShow)

    {

    //// This was used incase the user wanted to press the ESCAPE key to exit this app.

    //bool ext       = false;

    //do

    //{

    // if (::GetAsyncKeyState(VK_ESCAPE))

    // {

    // while (::GetAsyncKeyState(VK_ESCAPE)) {}

    // ext = true;

    // }

    // else

    // {

    // ::EnumWindows(EnumWindowsProc, NULL);

    // }

    // ::Sleep(1L);

    //}while(!ext);

    for (;;) // Endless loop to search for Explorer.exe and send the TVS_HASLINES style.

    {

    ::EnumWindows(EnumWindowsProc, NULL);

    ::Sleep(1L);

    }

    return 0L;

    }

    Was this answer helpful?

    3 people found this answer helpful.
    0 comments No comments
  2. Anonymous
    2010-02-07T14:19:14+00:00

    I concur!  M$ should focus on improving its products and not copying Apple's interface.  If I wanted a MAC OS experience, I would buy a MAC.

    Was this answer helpful?

    3 people found this answer helpful.
    0 comments No comments
  3. Anonymous
    2010-06-15T22:19:41+00:00

    Windows 7 is NOT vastly easier to use.  At best it is confusing and at its worst can be downright maddening.  And, I am a diehard windows fan.  In Windows 7 too many of the 'improvements' are actually a redesign for the worse of something that was already working well.   In some cases (such as the missing vertical lines in explorer tree view), the simplicity is forced upon us whereas it should have been an option.

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments
  4. Anonymous
    2009-12-05T02:57:38+00:00

    I fully agree that many important features are not longer available in Windows 7 (and already in Vista). Unfortunately I did not find a hack to re-enable these very helpful vertical guide lines. Additionally it should be standard to display the XP like plus- and minus signs for the folder nodes instead of these hard to read triangles (arrows).

    Because that Windows 7 lacks - as Windows Vista - so many "old style" XP features and because the over all graphical user interface is much overloaded with coulered stuff, inconsistencies, lack of the old style main menu bar (by default, I know), waste of screen space and usable space within many windows (like the Explorer), we decided to skip Windows 7 in our company as we already skipped Vista for the same reasons and remain to stay with Windows XP in Classic Windows Style (96% of our employees still prefer this).

    On the server side Windows 2008 - that comes with an Vista like user interface - I was really frustrated that Microsoft bothers us with an overloaded GUI - that's why we keep staying on Server 2003.

    Please Microsoft, don't bother professional users - those people that have to work with Windows efficently - any more with a user interface that is obviously designed for the no-knowledge-easy-to-impress folks.

    (I could'nt resist for this a bit of-topic comment)

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments