@gobblegob
Working backwards we learned:
Line 10: Therefore 'FileName' was empty...
Line 3 : Therefore "
ListView1.SelectedItem(0).Tag is empty
Wait... "ListView1"? ListView? I thought this question was about running from a TreeView.
May I make a suggestion? Start simply and complicate your program after the basics work. I don't completely understand what you are trying to do with the ListView but I would think that you should first worry about making things work with one control: The TreeView you originally wrote about. Worry about keeping the TreeView and your ListView controls synchronized after you've made the first control work.
With the two controls intermingled as they are you have many places that could cause a problem.
Are you setting the TreeNode.Tag with wrong values
Are you reading the TreeNode.Tag wrongly
Are you not keeping the TreeNode and the ListView synchronized
Are you not passing from TreeNode to ListView correctly
and so on.
Start with just getting the TreeNode.Tags to contain the right paths to the files, and getting them to launch from the TreeNode. Once that works, then add in other features like a multicolumn ListView that displays additional details of your file.
Or, start with a ListView that you hardcode values in. Get those paths to launch. Then add in the nice TreeView.
Pick one or the other as a place to start.