Solved

Quick quesion re: Shell command in vbHide mode

Posted on 2001-08-06
14
506 Views
Last Modified: 2006-11-17
I am using the shell command to zip up a db file in a DOS window.  When running it in vbNormalFocus mode the DOS window does not close after the file has been zipped.

If I change it to vbHide so that the DOS window does not pop up will a process still be running in the background that I will have to worry about closing after the zip is complete or no?

Thanks
0
Comment
Question by:bsmiley
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
  • +5
14 Comments
 
LVL 6

Expert Comment

by:JonFish85
ID: 6358428
vbHide will just hide its execution I believe... You will probably have to close it manually... Listening for other experts' advice...
0
 
LVL 5

Expert Comment

by:KDivad
ID: 6358431
Yes, it will still be in the background.

If this app is for personal use:
Right-Click your zip exe (pkzip?) and select properties. On the "Program" tab, select "Close On Exit". Click OK.
0
 

Expert Comment

by:Ktoshni
ID: 6358604
I have a small VB program which does something similar. However I use the Winzip command line utilities to zip/unzip files. When the operation completes there will be no processes left in memory. The only problem I have encountered is that if there is a problem with the zip file you wouldn't realise that something happened - your program would just lock up. Maybe you could find a work around for this. As such I haven't had the chance to check it out. Go to www.winzip.com and you'll find the command line utilities available for download. Please note though you'll need Winzip installed too.
0
Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.

 
LVL 5

Expert Comment

by:KDivad
ID: 6358812
The work-around is easy enough. You launch a tiny app that just starts the command-line utility. Use the Shell-And-Wait method to launch it. WaitForSingleObject includes a timeout amount. Put in an appropriate timeout. For example, if the zip process will take 5 seconds then put 10. WaitForSingleObject will return when A. The process has ended or B. the timeout occurs. Check the return value and see if it timed out. If it did, then assume a lock-up and use TerminateProcess(?) to kill the "tiny app" you launched and the command-line.

I don't have the Shell-And-Wait method anymore...
0
 

Expert Comment

by:netraLINK
ID: 6358861
HI bsmiley

Why not use a freeware 3rd party component to zip or unzip your files. E-Mail me if you want me to mail you one. Ive used the one I have extensively in the past and it works like a bomb. This way you do not have to rely on and external app running but rather just on creating an object and then closing it again to release all resources.

Lemme know

netraLINK
0
 
LVL 9

Expert Comment

by:Nitin Sontakke
ID: 6358946
Can you please post the single line of code in which you are using the shell command. I just want to have a look. I think there is a way to do it. But i would love to have a look first. If you don't mind.
0
 
LVL 9

Accepted Solution

by:
Valliappan AN earned 50 total points
ID: 6358962
Try this:

Shell "C:\Command.com /C pkzip.exe zipfile zipspec"

Hope this helps.
0
 
LVL 9

Expert Comment

by:Nitin Sontakke
ID: 6359070
Exactly, I was going to suggest the same as "valli_an" has already suggested, after having a look at how "bsmiley" is using the Shell command.

I know for sure that the command given by "valli_an" will execute in background and will terminate automatically, as intended.

0
 
LVL 16

Expert Comment

by:Richie_Simonetti
ID: 6359504
valli_an deserves the points, i think.
0
 
LVL 9

Expert Comment

by:Nitin Sontakke
ID: 6359538
Yes, of course. That's pretty natural, i suppose.
0
 

Expert Comment

by:netraLINK
ID: 6359553
didnt know that decision lies with us. Lay off it guys... Although I agree with you, maybe its best to let bsmiley decide. I hate to get notices of question updates and its crap like this. It takes 5 minutes of my time to let go of my work and look at the comments....

thanks

netraLINK
0
 
LVL 16

Expert Comment

by:Richie_Simonetti
ID: 6359841
netraLINK, i only said that, to me, that was THE answer, or puting in other words, that is the comment that i would post if i didn't get later to this thread.
No more no less.
Cheers
0
 

Author Comment

by:bsmiley
ID: 6360819
Thanks people!  That did the trick!
0
 
LVL 9

Expert Comment

by:Valliappan AN
ID: 6362438
Thanks all.
0

Featured Post

SharePoint Admin?

Enable Your Employees To Focus On The Core With Intuitive Onscreen Guidance That is With You At The Moment of Need.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The debugging module of the VB 6 IDE can be accessed by way of the Debug menu item. That menu item can normally be found in the IDE's main menu line as shown in this picture.   There is also a companion Debug Toolbar that looks like the followin…
This article describes how to use a set of graphical playing cards to create a Draw Poker game in Excel or VB6.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

691 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question