icopyhook program help, ideas on how to do it.

Posted on 1999-01-14
Last Modified: 2010-05-18
I am a new programmer to vc++ 5.0 . I am writing a freeware package for security admin on workstations. I don't know muck about it, so I need some help on even the setup of the program (basic steps from start, the wizzard type and so on.) I need to know how to implement icopyhook and use as a program with switches for each option. I am not expecting a completed program to be designed by someone, but I would appreciate any help possible. I am in high school, so I make take a while to get back to you. and to jkr, I deeply appologize. I will try to be more clear and responsive to anyone who is willing to help.
Question by:naallen
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
  • 5
  • 4
  • 2
  • +1

Accepted Solution

ahTri earned 100 total points
ID: 1182234
I'm not an expert of MFC so dont expect from me too much, if u not happy (well u loose 100 points for a useless advise - but it's free anyway, just post the question again) Have a look at my project page at

there's a demo there

About the program u are going to do, I need some more specific questions, tell me what u want the program would look like and what i gonna do ! like dialog, buttons, evens ...
LVL 86

Expert Comment

ID: 1182235
I'd recommend you give another try to the code i posted to your last Q (as it is a 'working' interface). To ged rid of the 85 errors, simply use the following headres & definitions:

#ifndef STRICT
#define STRICT

#define INC_OLE2        // WIN32, get ole2 from windows.h
#define _UNICODE            // NT explorer expects this...

#include <windows.h>
#include <windowsx.h>
#include <shlobj.h>
#include <wchar.h>
#include <tchar.h>

#include "resource.h"

#pragma data_seg(".text")
#define INITGUID
#include <initguid.h>
#include <shlguid.h>
#pragma data_seg()

// I strongly recommend to create a new CLSID!!!
DEFINE_GUID(CLSID_MyCopyHook, 0xdca76be8, 0xdceb, 0x11d2, 0xb5, 0xf2, 0x0, 0x0, 0xb4, 0x3a, 0x8f, 0xcf);

(If i should repost the code, feel free to ask... ;-)

Author Comment

ID: 1182236
Jkr, what app wizzard do I use. It's a command line app that can be loaded from vb4.
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Author Comment

ID: 1182237
ahTri, I need a command line app that will allow me to use switches to control directory creation, copying files, deleting files and other common file tasks. Something like /c:on or /c: off to allow or deny file copying. And of course the other items. Will Icopyhook control directory creation and scandisk file changes?
LVL 86

Expert Comment

ID: 1182238
You should use 'Win32 Dynmic Link Library' - a copy hook is a shell extension DLL which is loaded by the explorer. AND: As it is loaded by the explorer, it is a major performance penalty to use MFC, as all MFC DLLs would have to be loaded also! (BTW: And there's definitely no need to use MFC either ;-)

Author Comment

ID: 1182239
jkr, how do I call the dll in vb using a seperate program. I need a seperate program that can be executed if possible. or how would I call it in vc++ 5 as a program constructed completely in there?
LVL 86

Expert Comment

ID: 1182240
I'm not sure whether i undertstand your last Q right - do you want to execute a program from the DLL or access it from an other program?

Author Comment

ID: 1182241
I need to have access to it in vb as a seperate executable. So, how would I use the dll in a seperate program?
LVL 86

Expert Comment

ID: 1182242
If you want it to be a copy hook, it can't be used in a program different than explorer. You could however store/retrieve information using the registry, set up an interprocess  communication between your program and the VB program (e.g. using named pipes or mailslots)
LVL 86

Expert Comment

ID: 1182243
Did you give up again? ;-)
If you choose to ignore this Q, ahTri will receive the points in about 4 weeks...

Expert Comment

ID: 1182244
sorry naallen I give up with your questions and discussion with jkr, my project have to be finish by next week, just reject me so jkr can summit answer or what ever

Expert Comment

ID: 1182245
keep me updated

Featured Post

Enroll in May's Course of the Month

May’s Course of the Month is now available! Experts Exchange’s Premium Members and Team Accounts have access to a complimentary course each month as part of their membership—an extra way to increase training and boost professional development.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Quicksort a dynamic deque 33 84
IdTelnet1DataAvailable handler freezes the Application 4 105
c++ syntax question 9 67
White board coding practice 3 99
Written by John Humphreys C++ Threading and the POSIX Library This article will cover the basic information that you need to know in order to make use of the POSIX threading library available for C and C++ on UNIX and most Linux systems.   [s…
Container Orchestration platforms empower organizations to scale their apps at an exceptional rate. This is the reason numerous innovation-driven companies are moving apps to an appropriated datacenter wide platform that empowers them to scale at a …
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.

710 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