RE: Subclass windows
Prasad:
Good point!! If Forte went to fully dynamic binding, the problem would likely
go away. The core problem appears to be that non-window classes are bound at
'compile' time. Window classes are bound at both initial code creation and
compile time. Given the practical problems around windows, look and feel,
realestate management, this may be the only practical solution. The real
problem is, no matter what you do, if you have to change a parent window you
will be experiencing some considerable pain.
bill
From: Prasad Muppirala
Sent: Friday, February 21, 1997 12:50 PM
To: 'forte-users'; '[email protected]'; Bill Gonch
Subject: RE: Subclass windows
This is true to a certain extent though the problem we are concerned
does'nt go away. If we any time inherit from a window that has
widgets, we have to name each and every widget, which will not give us
the
warning related to the tag errors......
This way atleast certain forte executables run fine. But on the other
hand the window inheritance hierarchy has had problems, which have been
brought to the notice of Forte.....
The work around that I used to use:
If we don't have many widget changes done in the subclass, and you are
willing to redo the changes pertinent to the subclass, then what can be
done is make the changes to the widgets in the parent class,
Break the inheritance relationship for the subclass, for example let
this subclass inherit from UserWindow,
then go back and reestablish the parent child relationship. This way
all the changes made to the parent class get reflected. But now the
work is to make those changes explicitly in the subclass that we lost,
because of breaking the relationship. Pex out and pex in seems to be
also an alternative.
Prasad Muppirala
Consultant
Forte National Practice
Born Information Services Group
(612)404-4300
From: Bill Gonch[SMTP:[email protected]]
Sent: Friday, February 21, 1997 1:36 AM
To: forte-users; [email protected]
Subject: RE: Subclass windows
Bottom line, and I think there is a technote on this. if you do not name
every
widget, sub classing windows is not a good idea. Most ofter, violations of
this rule result in a seg v, but they can produce other symptoms
ciao
bill
From: [email protected] on behalf of
[email protected]
Sent: Thursday, February 20, 1997 1:59 PM
To: [email protected]
Subject: Subclass windows
Re Corrado Tamietti's window subclassing problems:
STRANGE things can happen if you have not named ALL widgets in the
superclass window (including ALL TextGraphics, GridFields,
CompoundMenus, and all those other things that we usually leave unnamed
because we do not need to manipulate them). Apparantly the name is how
Forte decides whether the widget is inherited. Once we started naming
everything, our subclass windows started behaving MUCH better after
modification of the superclass.
You still lose your window titles when you insert a new class into the
hierarchy, though. This seems like a bug to me, but what do I know? On
the whole, the "PEX out, PEX back" suggestion sounds the best if it's
practical, but I STILL fear that if you do not name EVERY widget in the
superclass, you will be sorry.
Tom Wyant
Prasad:
Good point!! If Forte went to fully dynamic binding, the problem would likely
go away. The core problem appears to be that non-window classes are bound at
'compile' time. Window classes are bound at both initial code creation and
compile time. Given the practical problems around windows, look and feel,
realestate management, this may be the only practical solution. The real
problem is, no matter what you do, if you have to change a parent window you
will be experiencing some considerable pain.
bill
From: Prasad Muppirala
Sent: Friday, February 21, 1997 12:50 PM
To: 'forte-users'; '[email protected]'; Bill Gonch
Subject: RE: Subclass windows
This is true to a certain extent though the problem we are concerned
does'nt go away. If we any time inherit from a window that has
widgets, we have to name each and every widget, which will not give us
the
warning related to the tag errors......
This way atleast certain forte executables run fine. But on the other
hand the window inheritance hierarchy has had problems, which have been
brought to the notice of Forte.....
The work around that I used to use:
If we don't have many widget changes done in the subclass, and you are
willing to redo the changes pertinent to the subclass, then what can be
done is make the changes to the widgets in the parent class,
Break the inheritance relationship for the subclass, for example let
this subclass inherit from UserWindow,
then go back and reestablish the parent child relationship. This way
all the changes made to the parent class get reflected. But now the
work is to make those changes explicitly in the subclass that we lost,
because of breaking the relationship. Pex out and pex in seems to be
also an alternative.
Prasad Muppirala
Consultant
Forte National Practice
Born Information Services Group
(612)404-4300
From: Bill Gonch[SMTP:[email protected]]
Sent: Friday, February 21, 1997 1:36 AM
To: forte-users; [email protected]
Subject: RE: Subclass windows
Bottom line, and I think there is a technote on this. if you do not name
every
widget, sub classing windows is not a good idea. Most ofter, violations of
this rule result in a seg v, but they can produce other symptoms
ciao
bill
From: [email protected] on behalf of
[email protected]
Sent: Thursday, February 20, 1997 1:59 PM
To: [email protected]
Subject: Subclass windows
Re Corrado Tamietti's window subclassing problems:
STRANGE things can happen if you have not named ALL widgets in the
superclass window (including ALL TextGraphics, GridFields,
CompoundMenus, and all those other things that we usually leave unnamed
because we do not need to manipulate them). Apparantly the name is how
Forte decides whether the widget is inherited. Once we started naming
everything, our subclass windows started behaving MUCH better after
modification of the superclass.
You still lose your window titles when you insert a new class into the
hierarchy, though. This seems like a bug to me, but what do I know? On
the whole, the "PEX out, PEX back" suggestion sounds the best if it's
practical, but I STILL fear that if you do not name EVERY widget in the
superclass, you will be sorry.
Tom Wyant
Similar Messages
-
Re: (forte-users) catching user inactivity and loggingoff
My group is also has been requested to perform a similar task. We probably will not log the user out, but instead will throw up our Login window if the app has been idle for 15 minutes. The trick is figuring out how to determine "what is an activity?". We have a main menu window that fires off most other windows (usually with start task). So, we need to monitor usage for anything in that main menu or any task started from it. Would dragging a window be considered activity? Moving the mouse over a window, but not clicking?
Steven Barnes
"Fingerhut, Eric" <Eric.Fingerhuthbo.com> 07/21/00 08:24AM >>>Were looking to automatically log a user off that hasn't been 'active' on
the system after some defined period of time (i.e., 15 minutes).
We're also looking to implement a variation of the Window Manager pattern,
and wondering if there's something in the pattern itself that would be
useful for accomplishing the auto log-off (perhaps a window level event that
means a user has done something, that we'd otherwise not be using).
I appreciate any and all feedback to accomplish this.
TIA,
EricEric,
We're looking to automatically log a user off that hasn't been 'active'on
the system after some defined period of time (i.e., 15 minutes).
We're also looking to implement a variation of the Window Managerpattern,
and wondering if there's something in the pattern itself that would be
useful for accomplishing the auto log-off (perhaps a window level eventthat
means a user has done something, that we'd otherwise not be using).<snip!>
If you're using a window manager, your windows are probably (hopefully!)
all subclasses of the same superwindow. At least, they are for us.
We're not logging people off, but we are doing things like lighting up a
"save" button when the user has changed the window. For this we register
events on self.Window.ChildAfterValueChange and
self.Window.ChildAfterFirstKeystroke. You might also want an event on
ChildClick. My bias is to ignore mouse movement events, since they might
easily have nothing to do with your application (e.g. moving the mouse
across your application's window to get from the Minesweeper window to the
Solitare window).
If you're using these events, you can write an event handler for your
superclass window that fields the events you want, does anything it needs
to do with them, then calls a method that does nothing. The subclass window
can override this method to get the functionality it needs.
Tom Wyant -
Why does this nullpointer happen
I am trying to create a JLabel which uses the background screenshot, and prints some text on top of it.
I have run into a problem when I attempt to manually set the Font. I think I have narrowed the problem down to the getPreferredSize() method, and I think it is related to the font metrics class. But I cant figure out.
Here is the test code (it doesn't have much applicability, but it illustrates the problem)
If you remove the line: setupImage from the setFont() method, then everything works fine, but unfortunately, I need this to determine the size of my screen capture (like I mentioned before, this doesn't make much sense in my example, but for my application, it is required)
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
public class LabelTest extends JLabel {
public static void main(String[] args) {
JFrame frame = new JFrame();
LabelTest l = new LabelTest(new Point(100,100));
l.setFont(new Font("Tahoma", Font.BOLD, 14));
frame.add(l);
frame.pack();
frame.setVisible(true);
private BufferedImage image;
private Point point;
public LabelTest(Point p) {
this.point = p;
setupImage();
private void setupImage() {
try {
Robot r = new Robot();
Dimension d = getPreferredSize();
image = r.createScreenCapture(new Rectangle(point.x, point.y, d.width, d.height));
catch(Exception e){
e.printStackTrace();
public void setFont(Font f) {
super.setFont(f);
setupImage(); //if you comment this out, everything works
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
g2.drawImage(image,0,0,this);
//draw the labels
Font f = getFont();
if(f != null) {
FontMetrics fm = getFontMetrics(getFont());
g2.setColor(getForeground());
g2.drawString("Test", 15, fm.getHeight()/2 - fm.getMaxDescent());
public Dimension getPreferredSize() {
Font f = getFont();
if(f != null) {
FontMetrics fm = getFontMetrics(getFont());
System.err.println(fm.getHeight());
int hieght = fm.getHeight();
int width = 0;
width = fm.stringWidth("test");
return new Dimension(width + 15, hieght + fm.getHeight()*2);
else {
return new Dimension(200, 200);
public Dimension getMinimumSize() { return new Dimension(200, 200); }
}2 Questions for you guys:
1) Camickr: In my code, I wasnt recreating the background image everytime, I was simply drawing it everytime. However, now that I think about it, it would be nice to figure out if the background has changed, in order to take a new picture of it.
2) So I mentioned earlier that I was having trouble with resizing of the label. I was able to narrow it down to a test case, however, I don't know why this occurs.
In the code below, I extend the Window class, and add the JLabel to it. However, you will be able to see that when I change the Font, the resizing doesn't affect the containing Window (You can test this by clicking on the window, you will see that the width is calculated using the original font, before the setFont call).
The wierd thing, is that if I dont subclass Window, and just use a Window instance in my main method, everything works fine. Now I could do this, but I would like to know why this resizing problem is happening.
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.image.BufferedImage;
public class LabelTest extends Window{
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setPreferredSize(new Dimension(300,400));
LabelTest l = new LabelTest(frame, new Point(500,500), "My long string 222333111444555");
l.setFont(new Font("Tahoma", Font.BOLD, 14));
frame.pack();
frame.setVisible(true);
l.setVisible(true);
private BubbleLabel bubble;
public LabelTest(JFrame owner, Point startingPoint, String text) {
super(owner);
setupBubble(startingPoint, text);
public LabelTest(JDialog owner, Point startingPoint, String text) {
super(owner);
setupBubble(startingPoint, text);
private void setupBubble(Point startingPoint, String text) {
bubble = new BubbleLabel(startingPoint, text);
this.setLocation(startingPoint);
this.setLayout(new BorderLayout());
this.add(bubble, BorderLayout.CENTER);
this.pack();
public void setFont(Font f) { bubble.setFont(f); }
public class BubbleLabel extends JLabel {
private String myText;
private BufferedImage image;
private Point point;
public BubbleLabel(Point p, String text) {
this.point = p;
this.myText = text;
setupImage();
this.addMouseListener(exitListener);
private void setupImage() {
if(point == null) {
return;
try {
Robot r = new Robot();
Dimension d = getPreferredSize();
image = r.createScreenCapture(new Rectangle(point.x, point.y, d.width, d.height));
catch(Exception e){
e.printStackTrace();
public void setFont(Font f) {
super.setFont(f);
setupImage();
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
g2.drawImage(image,0,0,this);
//draw the labels
Font f = getFont();
if(f != null) {
FontMetrics fm = getFontMetrics(getFont());
g2.setColor(Color.GREEN);
g2.drawString(myText, 15, 25 + fm.getHeight()/2 - fm.getMaxDescent());
public Dimension getPreferredSize() {
Font f = getFont();
if(f != null) {
FontMetrics fm = getFontMetrics(getFont());
int hieght = fm.getHeight();
int width = 0;
width = fm.stringWidth(myText);
System.err.println(width + 15);
return new Dimension(width + 15, hieght + fm.getHeight()*2);
else {
return new Dimension(200, 200);
public Dimension getMinimumSize() { return new Dimension(200, 200); }
private MouseListener exitListener = new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
System.err.println(BubbleLabel.this.getBounds());
} -
To all -
This is an FYI. We just moved from d2 to e2 at the urging of the support
center as we had experienced several corruptions of workspaces with d2
during updates. E2 has solved this nicely but we have just suffered from
a new problem.
We are using window inheritance including inheritance of things like
standard buttons and scroll bars. Yesterday, I made a change to one
superclass to rearrange the order of buttons in a grid. After I did this,
16 of 18 subclass windows were not longer accessible. We could not
compile them, export them, or every go into the window workshop! We
kept getting FTEXEC errors in a qqds.dll module. And of course this was
during testing of the application prior to deployment for a trade
show on Wednesday! Panic city...
The support center explained the likely problem as one of duplicate
tags. Apparently, we had in d2 created window widgets (specifically
grid fields) without giving them names. We had done this variably
on the superclass and subclass. When Forte e2 tried to merge the
super and subclasses, it found a conflict between the tags (apparently
these are system assigned numbers). It is supposed to just give a
warning about these problems but in this case, it completely crashed.
The solution was not completely terrible but took several hours. We
first fixed the superclass to make sure all grids were names. Then
we dragged/dropped the subclass windows into a new project. There we
could access them and give all grids names. Then we deleted the originals
and dragged/dropped the copies back in. Voila! Fixed after about 3
hours and a bit of sweating.
The moral of this story is to name all widgets including grids and to
tread lightly when changing widgets in superclass windows.
Jerry Fatcheric
Relational Options, Inc.
Florham Park, New Jersey
201-301-0200
201-301-00377 (FAX)
[email protected]We've been talking about this issue for a while now. Take a look at this post:
Temperance Harkins, "are you an Audible.com user?" #16, 11:20am Oct 26, 2005 CDT -
I have a WebView in a subclassed window and view. I notice that when I move my cursor over links in my WebView, it does not change the cursor to a hand or perform rollover actions where it should. Using a delegate method for mouseDidMoveOverElement and rolling the mouse over links doesn't trigger a response either. Clicking on links work just fine, as does right-clicking to bring up a contextual menu.
I suspect that a responder is getting in the way or another class is intercepting the mouse events. What are the requirements for a WebView to receive the mouse events it isn't receiving? What generates these events? (hitTest, mouseMoved ?) Thanks.suggest to call sprint to get updated information about your account
-
Java.lang.UnsatisfiedLinkError: resizeD3DCanvas
Hi,
I write a mesh viewing software in which TriangleArray is used to represent
triangle polygons.
A subclass of Canvas3D is contained inside a subclass of JFrame.
After I load and show a polygon mesh, I move the JFrame subclass Window, then the following messages are shown, and the software freezes.
This happens on Win2K professional and Win XP Professional, SP2.
I tried J3D.dll for OpenGL and DirextX, but the results are the same.
I Googled for a solution to this, but found no clue.
Incidentally, when I make an installer using ZeroG's InstallAnywhere for this
software, install it and run the software, this does not happen.
Any hints and clues are welcome.
Best Regards,
Chusai_Shibue
java.lang.UnsatisfiedLinkError: resizeD3DCanvas
at javax.media.j3d.Canvas3D.resizeD3DCanvas(Native Method)
at javax.media.j3d.Canvas3D.d3dResize(Canvas3D.java:3588)
at javax.media.j3d.Renderer.doWork(Renderer.java:451)
at javax.media.j3d.J3dThread.run(J3dThread.java:250)Hi, Ifadolai
Thank you for your precious advice.
I will post this to that forum.
Best regards,
Chusai_Shibue -
SetDefaultCloseOperation problems
Hi.
I'm writing a Swing application that has one parent JFrame subclass that, after a JButton press, opens a new JFrame subclass window. I have used setDefaultCloseOperation to HIDE_ON_CLOSE() for the child JFrame, but for some reason, whenever I close this window, the entire application exits.
Can anyone help me out with an explanation?Does this do what you want?import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Test extends JFrame {
public Test (boolean main) {
setTitle (main ? "parent" : "child");
setDefaultCloseOperation (main ? EXIT_ON_CLOSE : HIDE_ON_CLOSE);
JComponent component;
if (main) {
component = new JButton (new AbstractAction ("Open new frame") {
public void actionPerformed (ActionEvent event) {
new Test (false);
} else {
component = new JLabel ("I'm a new frame!");
getContentPane ().setLayout (new GridBagLayout ());
getContentPane ().add (component, new GridBagConstraints ());
pack ();
setLocationRelativeTo (null);
setVisible (true);
public static void main (String[] parameters) {
new Test (true);
}Kind regards,
Levi -
Closing previous windows problem
i have one desktop gui application..when I compile my application,then i can see searchform1 form,then when i click DELETE button in searchform1.form then I do see Delete.form and i can the remove the file from the list that i selected.The problem is when i click delete button i can see deleteform again BUT I could not close the previous windows like searchform1.java window and previous delete.java window(or form) which I have seen before .I wanna close previous window when i click delete.form..I meant i wanna close searchform1.form or the previous windows (forms) when i see delete.form or when I click delete button. I do believe that because of that problem , I had seen " Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space " after I saw a couple of forms.
Thank you so much for your helps..altayli wrote:
This is my codeThat is not an SSCCE. Please read [this link|http://sscce.org].
But judging from that snippet, you're creating a new "noresult" (which I assume is a JWindow or JFrame?), then immediately disposing of it, without even displaying it. This is NOT closing any previously-opened noresult instances, which I am starting to think is what you want to do. You need a reference to a previous noresult if you want to close it.
Also, you shouldn't be calling DesktopApplication2.main(), this is very bad practice. You likely want to call DesktopApplication2's constructor if it is a JFrame/JDialog subclass, and setVisible(true) the result; if it's not a JFrame or JDialog, you want to create whatever main window it does create, and display that.
What if DesktopApplication2 calls System.exit() somewhere? Your application would go down with it. -
NSView subclass and mouse clicks
I wrote a relatively simple program. It's got a single visual component on the window, an NSView subclass with drawing delegated out to another class called Arrow. Anyway, it uses a timer to trigger calls to drawRect which in turn "animates" a layer. I have a 100x100 layer and a velocity & position which get updated each time through depending on how much "real" time has passed. As the layer bounces around the screen, the animation seems smooth and everything looks good. If I start clicking in the window, however, things get wonky. The animation stutters (probably expected) and the position sometimes gets set back to the origin (0,0, bottom left corner of screen). I wonder if there's something I can do to stop mouse clicks from affecting the view, I have no set up anything to use the mouse clicks AT ALL so I don't really know how they can affect anything in the code I wrote. If this isn't enough info to answer the question, I'll post the xcode project.
The end result is going to be a very simple 2d game with maybe 8-10 things on the screen moving around at any one time. My next step is to try out openGL but using these CALayers seemed a lot simpler. However, since you say any event will block, I expect that will happen to opengl as well. I'll dig some more in the examples. It seems I followed the pattern from the crash landing demo (although I'm doing it on the mac itself, not iphone/simulator) to set up the rendering.
When you suggest using core animation, are you talking about just telling it the start/end position and the speed, and letting it handle everything in between? I don't think that will work for my case because eventually I will have to handle mouse/keyboard events to alter the movement in real-time. Am I missing something?
Thanks again for your help. -
How can I have multiple WINDOWS (NOT tabs) with INDEPENDENT content?
How can I have multiple '''windows''' (''not ''tabs) with '''independent''' content?
I used to be able to open separate windows with Firefox, and the content could be completely different in each window. No matter what I did in any window, no OTHER window open at the time, nor any of the content therein, was affected. This is no longer the case and it is extremely frustrating for me.
I do ''not ''like tabs and do not use them. I prefer multiple windows plus I am so used to using them, for so many years now! But with v9.0.1 I suddenly can no longer do what I've always done with my browser without this aggravating problem constantly reminding me that I can't have what I want in firefox anymore.
Or can I? Does anyone have a solution I don't realize exists?
Thanks,
SoweluAppleScriptObjC can use pretty much everything in the Cocoa API, so yes, it is possible.
Note that a view is not the same as a window, and a window can have multiple views. There are also many ways to implement "tabs"; take a look at some of Apple's applications - they use various mixtures of toolbars, checkboxes, and radio buttons, for example. An application such as this will be a lot more involved than what you have done so far though, using custom classes and subclassing existing ones, so be prepared to do a lot of reading and researching. -
How can I implement multiple windows/tabs in my Main-Menu?
I don't really know how to explain it. As an example, Skype has roughly 20 windows bundled with it, that are switched to when you click things like "Skype-Home" and "Profile". The layout changes too drastically to change the way it looks through just code, and it's not a new window being opened, it stays in the same window, the same main-window. I was wondering if this is possible through Cocoa-Applescript, and if so, what are the necessary steps to achieve this.
Taking it one step further, and if the above is possible, how could I implement a "tab" system in the application? The image below is an example of what I mean.AppleScriptObjC can use pretty much everything in the Cocoa API, so yes, it is possible.
Note that a view is not the same as a window, and a window can have multiple views. There are also many ways to implement "tabs"; take a look at some of Apple's applications - they use various mixtures of toolbars, checkboxes, and radio buttons, for example. An application such as this will be a lot more involved than what you have done so far though, using custom classes and subclassing existing ones, so be prepared to do a lot of reading and researching. -
How to show a background image in the Forms 6i MDI window?
Hello,
We are using Oracle Forms 6i Release 2 Patch 18 on Windows XP in client/server environment (not web server).
Is there any way to show a background image in the MDI root window without using DLL injection to subclass the MDI root window procedure.
KurtPlease try this
Public Function Decompress(ByVal arr As Byte()) As Byte()
Dim s As Byte()
Dim notCompressed As Boolean
notCompressed = False
Dim MS As System.IO.MemoryStream
MS = New System.IO.MemoryStream()
MS.Write(arr, 0, arr.Length)
MS.Position = 0
Dim stream As System.IO.Compression.GZipStream
stream = New System.IO.Compression.GZipStream(MS, System.IO.Compression.CompressionMode.Decompress)
Dim temp As System.IO.MemoryStream
temp = New System.IO.MemoryStream()
Dim buffer As Byte() = New Byte(4096) {}
While (True)
Try
Dim read As Integer
read = stream.Read(buffer, 0, buffer.Length)
If (read <= 0) Then
Exit While
Else
temp.Write(buffer, 0, buffer.Length)
End If
Catch ex As Exception
notCompressed = True
Exit While
End Try
End While
If (notCompressed = True) Then
stream.Close()
Return temp.ToArray()
Else
Return temp.ToArray()
End If
End Function
Thanks & Regards Manoj -
Hi!
After Windows update in april 2014 I cant any longer use the scanning funktion via network from Canon MF8330 Cdn multifunktion printer/fax/scanner machine! It worked fine Before the april Windows update installation.
I have reinstalled with Canons driver kit 2005b för Windows 7 64 bit. All works fine until the scanner installation ends, then system report that it cannot install the scanner and I have to try installing again. I have done that now several times but it helps not. I Think it has something to do with that the Canon scanner drivers isn´t 64 bit files, or the problem is that windows update has replaces saome dll file to a never version that not work with Canon drivers.
I have seen that there is a service pack 1 from Canon för Windows 8 and 8,1, can I use that service pack to get a never dll file for scanner or work this only for windows 8 version.
Have someone a solution to this! I have contacted the Canon support already and they say that its a Microsoft problem!
Very thanful for help in this case!
Greetings
Sixten
Hi!
I am installing the drivers from Canons site. It is the newest version 2005b for Windows 7 64 bit to MF8330Cdn Canon multifunction printer/fax/scanner. Installation goes well for the printer and fax but not for scanner drivers. The error message is Could not install the scanner. In device manager is there then a unknown device under Image devices. In Device Manager I try to update drivers, but it does not help either, error message is access denied. I am logged on the system with administrator account, therfore it is strange that I get the error message access denied.
I tried earlier to do system restore back to previous time, but it did not work, error was that the system could not do the system restore because of access rights.
is there anything else I could do.
Here is the MF36SCN.inf file for scanner installation from Canon, if it can help You to go further with the problem. Is there something strange in the inf file that does not work in Windows 7 64 bit Windows, something shows that ther is also same 32 bits parts in the inf file.
Greetings
Sixten
; MF36SCN.INF -- Windows Setup File for the MF8300 Series (Windows XP,Vista(64-bit))
; Copyright CANON INC. 2009 All Rights Reserved
; InfID: {BA7E017E-FA42-4831-A084-AA9E671325EE}
; Last Modified: 11-Jun-2009
[Version]
Signature="$Windows NT$"
class="Image"
ClassGUID={6bdd1fc6-810f-11d0-bec7-08002be2092f}
; The above GUID is the class GUID for all scanners and MUST NOT change
Provider=%Msft%
CatalogFile.NTamd64=MF36SCN.CAT
DriverVer=06/17/2009, 11.3.0.0
[DestinationDirs]
DefaultDestDir=11
CNCDsFiles=10,"twain_32\"%CNCRFN%
CNCMediaFiles=10,media
ColorFiles.NT=11,spool\drivers\Color
[ControlFlags]
;ExcludeFromSelect=*
[Manufacturer]
%Mfg%=Models,NTamd64.5.1,NTamd64.6.0
[Models.NTamd64.5.1]
%LPTENUM\CNC.DeviceDesc%=CNCInstall_XP,USB\VID_04A9&PID_2708&MI_00
%LPTENUM\CNC.DeviceDesc%=CNCInstallNet_XP,CANON_MFNP&%CNCRFN%
[Models.NTamd64.6.0]
%LPTENUM\CNC.DeviceDesc%=CNCInstall_VISTA,USB\VID_04A9&PID_2708&MI_00
%LPTENUM\CNC.DeviceDesc%=CNCInstallNet_VISTA,CANON_MFNP&%CNCRFN%
;........................................ WinXP(64-bit) section
[CNCInstall_XP.NTamd64]
Include=sti.inf
Needs=STI.USBSection
SubClass=StillImage
DeviceType=1
DeviceSubType=0x1
DeviceData=CNCDeviceData
AddReg=CNCAddreg,CNCAddreg.USB,CNCUSDAddreg_XP
CopyFiles=WiaFiles,CNCDsFiles,ColorFiles.NT,MPScanLLD,CNCMediaFiles
ICMProfiles="sRGB Color Space Profile.icm"
; used for push button event
Capabilities=0x11
Events=PushButton.Events
DriverVer=06/17/2009, 11.3.0.0
FriendlyName=%CNC.FriendlyName%
[CNCInstall_XP.NTamd64.Services]
Include=sti.inf
Needs=STI.USBSection.Services
[CNCInstall_XP.NTamd64.CoInstallers]
CopyFiles = ScanCoInstaller_CopyFiles_x64
AddReg = ScanCoInstaller_AddReg_x64
[ScanCoInstaller_CopyFiles_x64]
CNCLSO36b.dll
[ScanCoInstaller_AddReg_x64]
HKR,,CoInstallers32,0x00010000,"CNCLSO36b.dll,Coinstaller_EntryPoint"
;........................................ WinVista(64-bit) section
[CNCInstall_VISTA.NTamd64]
Include=sti.inf
Needs=STI.USBSection
SubClass=StillImage
DeviceType=1
DeviceSubType=0x1
DeviceData=CNCDeviceData_VISTA
AddReg=CNCAddreg,CNCAddreg.USB,CNCUSDAddreg_XP,CNCUSDAddreg_VISTA
CopyFiles=Wia2Files,CNCDsFiles,ColorFiles.NT,MPScanLLD,CNCMediaFiles
ICMProfiles="sRGB Color Space Profile.icm"
; used for push button event
Capabilities=0x11
Events=PushButton.Events
DriverVer=06/17/2009, 11.3.0.0
FriendlyName=%CNC.FriendlyName%
[CNCInstall_VISTA.NTamd64.Services]
Include=sti.inf
Needs=STI.USBSection.Services
[CNCInstall_VISTA.NTamd64.CoInstallers]
CopyFiles = ScanCoInstaller_CopyFiles_x64
AddReg = ScanCoInstaller_AddReg_x64
[ScanCoInstaller_CopyFiles_x64]
CNCLSO36b.dll
[ScanCoInstaller_AddReg_x64]
HKR,,CoInstallers32,0x00010000,"CNCLSO36b.dll,Coinstaller_EntryPoint"
;........................................ WinXP(64-bit) section(Network)
[CNCInstallNet_XP.NTamd64]
Include=sti.inf
Needs=STI.SerialSection
SubClass=StillImage
DeviceType=1
DeviceSubType=0x1
DeviceData=CNCDeviceData
AddReg=CNCAddreg,CNCUSDAddreg_XP
CopyFiles=WiaFiles,CNCDsFiles,ColorFiles.NT,MPScanLLD,CNCMediaFiles
ICMProfiles="sRGB Color Space Profile.icm"
; used for push button event
Capabilities=0x11
Events=PushButton.Events
DriverVer=06/17/2009, 11.3.0.0
FriendlyName=%CNC.FriendlyName%
[CNCInstallNet_XP.NTamd64.Services]
Include=sti.inf
Needs=STI.SerialSection.Services
[CNCInstallNet_XP.NTamd64.CoInstallers]
CopyFiles = ScanCoInstaller_CopyFiles_x64
AddReg = ScanCoInstaller_AddReg_x64
[ScanCoInstaller_CopyFiles_x64]
CNCLSO36b.dll
[ScanCoInstaller_AddReg_x64]
HKR,,CoInstallers32,0x00010000,"CNCLSO36b.dll,Coinstaller_EntryPoint"
;........................................ WinVista(64-bit) section(Network)
[CNCInstallNet_VISTA.NTamd64]
Include=sti.inf
Needs=STI.SerialSection
SubClass=StillImage
DeviceType=1
DeviceSubType=0x1
DeviceData=CNCDeviceData_VISTA
AddReg=CNCAddreg,CNCUSDAddreg_XP,CNCUSDAddreg_VISTA
CopyFiles=Wia2Files,CNCDsFiles,ColorFiles.NT,MPScanLLD,CNCMediaFiles
ICMProfiles="sRGB Color Space Profile.icm"
; used for push button event
Capabilities=0x11
Events=PushButton.Events
DriverVer=06/17/2009, 11.3.0.0
FriendlyName=%CNC.FriendlyName%
[CNCInstallNet_VISTA.NTamd64.Services]
Include=sti.inf
Needs=STI.SerialSection.Services
[CNCInstallNet_VISTA.NTamd64.CoInstallers]
CopyFiles = ScanCoInstaller_CopyFiles_x64
AddReg = ScanCoInstaller_AddReg_x64
[ScanCoInstaller_CopyFiles_x64]
CNCLSO36b.dll
[ScanCoInstaller_AddReg_x64]
HKR,,CoInstallers32,0x00010000,"CNCLSO36b.dll,Coinstaller_EntryPoint"
;.......................................... Common Section
[PushButton.Events]
PushButtonPushed1=%PushButtonPushed1%,{66F2A894-EC9B-430c-9D52-E8719D200DAC},%ButtonApp%
PushButtonPushed2=%PushButtonPushed2%,{506AC8D1-E030-4f05-8F8A-4476153E2D6C},%ButtonApp%
PushButtonPushed3=%PushButtonPushed3%,{9813E8A6-3652-4768-9AD1-C89E9B5CA956},%ButtonApp%
PushButtonPushed4=%PushButtonPushed4%,{03B58D10-0245-4859-A489-D695C7729FB3},%ButtonApp%
[ColorFiles.NT]
CNZ005.ICC
CNFR08.ICC
[CNCDeviceData]
TwainDS=%CNC.TwainDS%
SpecialInfo=%CNC.SPInfo%
DeviceKey=%CNCRFN%
InstallDirectory="\TWAIN_32\%CNCRFN%\"
KeyNamePath=%KEYNAME%
DefaultKeyNamePath=%DEFAULTKEYNAME%
[CNCDeviceData_VISTA]
TwainDS=%CNC.TwainDS%
SpecialInfo=%CNC.SPInfo%
DeviceKey=%CNCRFN%
InstallDirectory="\TWAIN_32\%CNCRFN%\"
KeyNamePath=%KEYNAME%
DefaultKeyNamePath=%DEFAULTKEYNAME%
UI Class ID={DF89C549-D67D-4fb0-A575-547073BFAB11}
;The above GUID reused from sample MUST change for each Model.
[CNCAddreg]
HKLM,"%SGDKEY%","DeviceName",,%CNC.MDL%
HKLM,"%SGDKEY%","SeriesName",,%CNC.SRS%
HKLM,"%SGDKEY%","Manufacturer",,"Canon Inc."
HKLM,"%SGDKEY%","ProductFamily",,"TWAIN Scanners"
HKLM,"%SGDKEY%","ProductName",,%CNC.MDL%
HKLM,"%SGDKEY%","InstallDirectory",,"%10%\TWAIN_32\%CNCRFN%\"
HKLM,"%SGDKEY%","DeviceDriver",,"SCANINTF.DLL"
HKLM,"%SGDKEY%","ProductId",,"MF8300 "
HKLM,"%SGDKEY%","DataSourcePath",,"%10%\TWAIN_32\%CNCRFN%\cisds.ds"
HKLM,"%SGDKEY%","TextEnhance",0x00010001,0
HKLM,"%SGDKEY%","HiDefinitionMode",0x00010001,0
HKLM,"%SGDKEY%","AutoPreview",0x00010001,0
HKLM,"%SGDKEY%","AutoClose",0x00010001,0
HKLM,"%SGDKEY%","SavePreview",0x00010001,1
HKLM,"%SGDKEY%","DriverDate",,"06 2009"
HKLM,"%SGDKEY%","DriverVersion",,"11.3.0.0.mf09"
HKLM,"%SGDKEY%","ColorGear",,%CNC.ColorGear%
HKLM,"%SGDKEY%","ColorMatch Platen",,"CNFR08.ICC"
HKLM,"%SGDKEY%","SGIPPDEF",,"CNCFR08.DAT"
HKLM,"%SGDKEY%","Descreen",0x00010001,0
HKLM,"%SGDKEY%","Unsharp",0x00010001,3
HKLM,"%SGDKEY%","MultiLimitThreshold",0x00010001,180
HKLM,"%SGDKEY%","MultiJackUp",0x00010001,9
HKLM,"%SGDKEY%","MultiTrimJackUp",0x00010001,20
HKLM,"%SGDKEY%","CardPhotoDistThr",0x00010001,30
HKLM,"%SGDKEY%","PhotoTrimThr",0x00010001,210
HKLM,"%SGDKEY%","PhotoRThr",0x00010001,210
HKLM,"%SGDKEY%","PhotoGThr",0x00010001,210
HKLM,"%SGDKEY%","PhotoBThr",0x00010001,210
HKLM,"%SGDKEY%","CardTrimThr",0x00010001,30
HKLM,"%SGDKEY%","CardRThr",0x00010001,30
HKLM,"%SGDKEY%","CardGThr",0x00010001,30
HKLM,"%SGDKEY%","CardBThr",0x00010001,30
HKLM,"%SGDKEY%","ParWhiteBlackEth",0x00010001,5
HKLM,"%SGDKEY%","ParWhiteBlackEthDG",0x00010001,5
HKLM,"%SGDKEY%","ParWhiteBlackSth",0x00010001,35
HKLM,"%SGDKEY%","ParWhiteBlackVth",0x00010001,10
HKLM,"%SGDKEY%","ParLabelingHth",0x00010001,30
HKLM,"%SGDKEY%","ParLabelingLeft",0x00010001,1
HKLM,"%SGDKEY%","ParLabelingTop",0x00010001,1
HKLM,"%SGDKEY%","ParLabelingRight",0x00010001,1
HKLM,"%SGDKEY%","ParLabelingBottom",0x00010001,1
HKLM,"%SGDKEY%","DT_Left",,"10"
HKLM,"%SGDKEY%","DT_Top",,"0"
HKLM,"%SGDKEY%","DT_Width" ,,"1.5"
HKLM,"%SGDKEY%","DT_Length",,"4.5"
HKLM,"%SGDKEY%","DT_Border_1",,"2.5"
HKLM,"%SGDKEY%","DT_Border_2",,"3.5"
HKLM,"%SGDKEY%","DT_BkTh",,"18"
HKLM,"%SGDKEY%","DT_MinWhThr",,"15"
HKLM,"%SGDKEY%","DT_MaxWhThr",,"45"
HKLM,"%SGDKEY%","ButtonNum",0x00010001,1
HKLM,"%STIKEY%","MF8300",0x00010001,1
[CNCAddreg.USB]
HKLM,"%SGDKEY%","AvailableDriver",0x00010001,1
[CNCUSDAddreg_XP]
HKLM,"%WIASGDKEY%","ColorMatch",0x00010001,1
HKLM,"%WIASGDKEY%","ColorGear",,"%CNC.ColorGear%"
HKLM,"%WIASGDKEY%","TextEnhance",0x00010001,0
HKLM,"%WIASGDKEY%","Descreen",0x00010001,0
HKLM,"%WIASGDKEY%","UnsharpMask",0x00010001,0
HKLM,"%WIASGDKEY%","HiDefinitionMode",0x00010001,0
HKLM,"%WIASGDKEY%","ProductId",,"MF8300 "
HKLM,"%WIASGDKEY%","ButtonNum",0x00010001,1
HKLM,"%WIASGDKEY%","DspGamma",0x00010001,1
HKLM,"%WIASTIKEY%","MF8300",0x00010001,1
HKR,,USDClass,,"{4BA01336-9934-455e-8FB8-4A47A638DF0E}"
HKCR,CLSID\{4BA01336-9934-455e-8FB8-4A47A638DF0E},,,"Canon USD"
HKCR,CLSID\{4BA01336-9934-455e-8FB8-4A47A638DF0E}\InProcServer32,,,%11%\CNCC8300.DLL
HKCR,CLSID\{4BA01336-9934-455e-8FB8-4A47A638DF0E}\InProcServer32,ThreadingModel,,"Both"
; The above GUID is specific to MF8300 and MUST change for a different model.
[CNCUSDAddreg_VISTA]
HKCR,CLSID\{DF89C549-D67D-4fb0-A575-547073BFAB11},,,"WIA Driver UI Extension"
HKCR,CLSID\{DF89C549-D67D-4fb0-A575-547073BFAB11}\shellex\ImageProcessingFilter\{CA0D4D3E-98ED-4787-AF02-4AF2A1303ACC}
; The above GUID is specific to MF8300 and MUST change for a different model.
HKCR,CLSID\{CA0D4D3E-98ED-4787-AF02-4AF2A1303ACC},,,"Canon Image Processing Filter"
HKCR,CLSID\{CA0D4D3E-98ED-4787-AF02-4AF2A1303ACC}\InProcServer32,,,%11%\CNCE8300.dll
HKCR,CLSID\{CA0D4D3E-98ED-4787-AF02-4AF2A1303ACC}\InProcServer32,ThreadingModel,,"Both"
; The above GUID is specific to MF8300 and MUST change for a different model.
[WiaFiles]
CNCC8300.DLL
CNCI8300.DLL
CNCL8300.DLL
[Wia2Files]
CNCC8300.DLL
CNCI8300.DLL
CNCL8300.DLL
CNCE8300.DLL
[CNCDsFiles]
CISDS.DS
SGUI.DLL
SGUI_RES.DLL
WIARES.DLL
IOP.DLL
ITLIB32.DLL
SCANINTF.DLL
TPM.DLL
CNCFR08.DAT
MC2.TXT
JDA_CIMG.DLL
NBS4MB.DLL
NBSCOR4M.DLL
RMSLANTC.DLL
RSTCOL.DLL
[MPScanLLD]
CNCMFP36.INI,,,0x20
CNCLSI36b.DLL,,,0x20
CNCLSD36b.DLL,,,0x20
CNCLSC36b.DLL,,,0x20
CNCLST36b.DLL,,,0x20
CNCLSU36b.DLL,,,0x20
[CNCMediaFiles]
CSSAMP1.MID
;-------------------------------Source Index
[SourceDisksFiles]
CNZ005.ICC=1
ITLIB32.DLL=1
JDA_CIMG.DLL=1
NBS4MB.DLL=1
NBSCOR4M.DLL=1
RMSLANTC.DLL=1
RSTCOL.DLL=1
CISDS.DS=1
SGUI.DLL=1
IOP.DLL=1
SCANINTF.DLL=1
TPM.DLL=1
SGUI_RES.DLL=1
WIARES.DLL=1
CSSAMP1.MID=1
CNCFR08.DAT=1
CNFR08.ICC=1
MC2.TXT=1
CNCC8300.DLL=1
CNCI8300.DLL=1
CNCL8300.DLL=1
CNCE8300.DLL=1
CNCMFP36.INI=1
CNCLSI36b.DLL=1
CNCLSD36b.DLL=1
CNCLSC36b.DLL=1
CNCLST36b.DLL=1
CNCLSU36b.DLL=1
CNCLSO36b.DLL =1
[SourceDisksNames]
1=%D1%,scan.cab,
;-------------------------------String Aliases
[Strings]
Msft="Canon"
Mfg="Canon"
SGDKEY="Software\Wow6432Node\Canon\SateraMFP1\ScanGear\11.3\Devices\MF8300"
STIKEY="Software\Wow6432Node\Canon\SateraMFP1\ScanGear\STI"
DEFAULTKEYNAME="Software\Wow6432Node\Canon\SateraMFP1\Toolbox Ver4.9\Devices\"
KEYNAME="\Software\Canon\MFToolbox\"
WIASGDKEY="Software\Canon\SateraMFP1\WIA\3.0\Devices\MF8300"
WIASTIKEY="Software\Canon\SateraMFP1\WIA\STI"
D1="Canon MF8300 Series Setup Disk"
LPTENUM\CNC.DeviceDesc="Canon MF8300 Series"
ButtonApp = "MF Toolbox Ver4.9"
CNCRFN = "MF8300"
CNC.MDL = "Canon MF8300"
CNC.SRS = "Canon MF8300 Series"
CNC.DeviceDesc = "Canon MF8300"
CNC.SPInfo = "Canon MF8300 Scanner"
CNC.TwainDS = "Canon MF8300 Series"
CNC.ColorGear = "FR08"
PushButtonPushed1= "Scan-1"
PushButtonPushed2= "Scan-2"
PushButtonPushed3= "Scan-3"
PushButtonPushed4= "Scan-4"
CNC.FriendlyName = "WIA Canon MF8300 Series"
greeting
SixtenHow I fixed it, at least for now:
1. I've been using OC Genie for a few days, it has been working great on Windows but I guess it was causing many games to crash to the desktop so I decided to turn it off, since then the memory issue started to happen, since this morning.
2. I can only think of my computer got OC Genie addicted, like addiction to crack or cocaine, and the memory, or call it nervous system, wanted more OC Genie, so it gave it to him and bingo, my 4GB readable, but then I used of trickery and deceit to disable OC Genie again and my 4GB is back again without OC Genie.
Hope this helps someone. -
Installing Windows 7 Professional 64 bit drivers för Canon MF8330 Cdn printer/fax/scanner
Hi!
After Windows update in april 2014 I cant any longer use the scanning funktion via network from Canon MF8330 Cdn multifunktion printer/fax/scanner machine! It worked fine Before the april Windows update installation.
I have reinstalled with Canons driver kit 2005b för Windows 7 64 bit. All works fine until the scanner installation ends, then system report that it cannot install the scanner and I have to try installing again. I have done that now several times but it
helps not. I Think it has something to do with that the Canon scanner drivers isn´t 64 bit files, or the problem is that windows update has replaces saome dll file to a never version that not work with Canon drivers.
I have seen that there is a service pack 1 from Canon för Windows 8 and 8,1, can I use that service pack to get a never dll file for scanner or work this only for windows 8 version.
Have someone a solution to this! I have contacted the Canon support already and they say that its a Microsoft problem!
Very thanful for help in this case!
Greetings
SixtenHi!
I am installing the drivers from Canons site. It is the newest version 2005b for Windows 7 64 bit to MF8330Cdn Canon multifunction printer/fax/scanner. Installation goes well for the printer and fax but not for scanner drivers. The error message is Could
not install the scanner. In device manager is there then a unknown device under Image devices. In Device Manager I try to update drivers, but it does not help either, error message is access denied. I am logged on the system with administrator account, therfore
it is strange that I get the error message access denied.
I tried earlier to do system restore back to previous time, but it did not work, error was that the system could not do the system restore because of access rights.
is there anything else I could do.
Here is the MF36SCN.inf file for scanner installation from Canon, if it can help You to go further with the problem. Is there something strange in the inf file that does not work in Windows 7 64 bit Windows, something shows that ther is also same 32 bits
parts in the inf file.
Greetings
Sixten
; MF36SCN.INF -- Windows Setup File for the MF8300 Series (Windows XP,Vista(64-bit))
; Copyright CANON INC. 2009 All Rights Reserved
; InfID: {BA7E017E-FA42-4831-A084-AA9E671325EE}
; Last Modified: 11-Jun-2009
[Version]
Signature="$Windows NT$"
Class=Image
ClassGUID={6bdd1fc6-810f-11d0-bec7-08002be2092f}
; The above GUID is the class GUID for all scanners and MUST NOT change
Provider=%Msft%
CatalogFile.NTamd64=MF36SCN.CAT
DriverVer=06/17/2009, 11.3.0.0
[DestinationDirs]
DefaultDestDir=11
CNCDsFiles=10,"twain_32\"%CNCRFN%
CNCMediaFiles=10,media
ColorFiles.NT=11,spool\drivers\Color
[ControlFlags]
;ExcludeFromSelect=*
[Manufacturer]
%Mfg%=Models,NTamd64.5.1,NTamd64.6.0
[Models.NTamd64.5.1]
%LPTENUM\CNC.DeviceDesc%=CNCInstall_XP,USB\VID_04A9&PID_2708&MI_00
%LPTENUM\CNC.DeviceDesc%=CNCInstallNet_XP,CANON_MFNP&%CNCRFN%
[Models.NTamd64.6.0]
%LPTENUM\CNC.DeviceDesc%=CNCInstall_VISTA,USB\VID_04A9&PID_2708&MI_00
%LPTENUM\CNC.DeviceDesc%=CNCInstallNet_VISTA,CANON_MFNP&%CNCRFN%
;........................................ WinXP(64-bit) section
[CNCInstall_XP.NTamd64]
Include=sti.inf
Needs=STI.USBSection
SubClass=StillImage
DeviceType=1
DeviceSubType=0x1
DeviceData=CNCDeviceData
AddReg=CNCAddreg,CNCAddreg.USB,CNCUSDAddreg_XP
CopyFiles=WiaFiles,CNCDsFiles,ColorFiles.NT,MPScanLLD,CNCMediaFiles
ICMProfiles="sRGB Color Space Profile.icm"
; used for push button event
Capabilities=0x11
Events=PushButton.Events
DriverVer=06/17/2009, 11.3.0.0
FriendlyName=%CNC.FriendlyName%
[CNCInstall_XP.NTamd64.Services]
Include=sti.inf
Needs=STI.USBSection.Services
[CNCInstall_XP.NTamd64.CoInstallers]
CopyFiles = ScanCoInstaller_CopyFiles_x64
AddReg = ScanCoInstaller_AddReg_x64
[ScanCoInstaller_CopyFiles_x64]
CNCLSO36b.dll
[ScanCoInstaller_AddReg_x64]
HKR,,CoInstallers32,0x00010000,"CNCLSO36b.dll,Coinstaller_EntryPoint"
;........................................ WinVista(64-bit) section
[CNCInstall_VISTA.NTamd64]
Include=sti.inf
Needs=STI.USBSection
SubClass=StillImage
DeviceType=1
DeviceSubType=0x1
DeviceData=CNCDeviceData_VISTA
AddReg=CNCAddreg,CNCAddreg.USB,CNCUSDAddreg_XP,CNCUSDAddreg_VISTA
CopyFiles=Wia2Files,CNCDsFiles,ColorFiles.NT,MPScanLLD,CNCMediaFiles
ICMProfiles="sRGB Color Space Profile.icm"
; used for push button event
Capabilities=0x11
Events=PushButton.Events
DriverVer=06/17/2009, 11.3.0.0
FriendlyName=%CNC.FriendlyName%
[CNCInstall_VISTA.NTamd64.Services]
Include=sti.inf
Needs=STI.USBSection.Services
[CNCInstall_VISTA.NTamd64.CoInstallers]
CopyFiles = ScanCoInstaller_CopyFiles_x64
AddReg = ScanCoInstaller_AddReg_x64
[ScanCoInstaller_CopyFiles_x64]
CNCLSO36b.dll
[ScanCoInstaller_AddReg_x64]
HKR,,CoInstallers32,0x00010000,"CNCLSO36b.dll,Coinstaller_EntryPoint"
;........................................ WinXP(64-bit) section(Network)
[CNCInstallNet_XP.NTamd64]
Include=sti.inf
Needs=STI.SerialSection
SubClass=StillImage
DeviceType=1
DeviceSubType=0x1
DeviceData=CNCDeviceData
AddReg=CNCAddreg,CNCUSDAddreg_XP
CopyFiles=WiaFiles,CNCDsFiles,ColorFiles.NT,MPScanLLD,CNCMediaFiles
ICMProfiles="sRGB Color Space Profile.icm"
; used for push button event
Capabilities=0x11
Events=PushButton.Events
DriverVer=06/17/2009, 11.3.0.0
FriendlyName=%CNC.FriendlyName%
[CNCInstallNet_XP.NTamd64.Services]
Include=sti.inf
Needs=STI.SerialSection.Services
[CNCInstallNet_XP.NTamd64.CoInstallers]
CopyFiles = ScanCoInstaller_CopyFiles_x64
AddReg = ScanCoInstaller_AddReg_x64
[ScanCoInstaller_CopyFiles_x64]
CNCLSO36b.dll
[ScanCoInstaller_AddReg_x64]
HKR,,CoInstallers32,0x00010000,"CNCLSO36b.dll,Coinstaller_EntryPoint"
;........................................ WinVista(64-bit) section(Network)
[CNCInstallNet_VISTA.NTamd64]
Include=sti.inf
Needs=STI.SerialSection
SubClass=StillImage
DeviceType=1
DeviceSubType=0x1
DeviceData=CNCDeviceData_VISTA
AddReg=CNCAddreg,CNCUSDAddreg_XP,CNCUSDAddreg_VISTA
CopyFiles=Wia2Files,CNCDsFiles,ColorFiles.NT,MPScanLLD,CNCMediaFiles
ICMProfiles="sRGB Color Space Profile.icm"
; used for push button event
Capabilities=0x11
Events=PushButton.Events
DriverVer=06/17/2009, 11.3.0.0
FriendlyName=%CNC.FriendlyName%
[CNCInstallNet_VISTA.NTamd64.Services]
Include=sti.inf
Needs=STI.SerialSection.Services
[CNCInstallNet_VISTA.NTamd64.CoInstallers]
CopyFiles = ScanCoInstaller_CopyFiles_x64
AddReg = ScanCoInstaller_AddReg_x64
[ScanCoInstaller_CopyFiles_x64]
CNCLSO36b.dll
[ScanCoInstaller_AddReg_x64]
HKR,,CoInstallers32,0x00010000,"CNCLSO36b.dll,Coinstaller_EntryPoint"
;.......................................... Common Section
[PushButton.Events]
PushButtonPushed1=%PushButtonPushed1%,{66F2A894-EC9B-430c-9D52-E8719D200DAC},%ButtonApp%
PushButtonPushed2=%PushButtonPushed2%,{506AC8D1-E030-4f05-8F8A-4476153E2D6C},%ButtonApp%
PushButtonPushed3=%PushButtonPushed3%,{9813E8A6-3652-4768-9AD1-C89E9B5CA956},%ButtonApp%
PushButtonPushed4=%PushButtonPushed4%,{03B58D10-0245-4859-A489-D695C7729FB3},%ButtonApp%
[ColorFiles.NT]
CNZ005.ICC
CNFR08.ICC
[CNCDeviceData]
TwainDS=%CNC.TwainDS%
SpecialInfo=%CNC.SPInfo%
DeviceKey=%CNCRFN%
InstallDirectory="\TWAIN_32\%CNCRFN%\"
KeyNamePath=%KEYNAME%
DefaultKeyNamePath=%DEFAULTKEYNAME%
[CNCDeviceData_VISTA]
TwainDS=%CNC.TwainDS%
SpecialInfo=%CNC.SPInfo%
DeviceKey=%CNCRFN%
InstallDirectory="\TWAIN_32\%CNCRFN%\"
KeyNamePath=%KEYNAME%
DefaultKeyNamePath=%DEFAULTKEYNAME%
UI Class ID={DF89C549-D67D-4fb0-A575-547073BFAB11}
;The above GUID reused from sample MUST change for each Model.
[CNCAddreg]
HKLM,"%SGDKEY%","DeviceName",,%CNC.MDL%
HKLM,"%SGDKEY%","SeriesName",,%CNC.SRS%
HKLM,"%SGDKEY%","Manufacturer",,"Canon Inc."
HKLM,"%SGDKEY%","ProductFamily",,"TWAIN Scanners"
HKLM,"%SGDKEY%","ProductName",,%CNC.MDL%
HKLM,"%SGDKEY%","InstallDirectory",,"%10%\TWAIN_32\%CNCRFN%\"
HKLM,"%SGDKEY%","DeviceDriver",,"SCANINTF.DLL"
HKLM,"%SGDKEY%","ProductId",,"MF8300 "
HKLM,"%SGDKEY%","DataSourcePath",,"%10%\TWAIN_32\%CNCRFN%\cisds.ds"
HKLM,"%SGDKEY%","TextEnhance",0x00010001,0
HKLM,"%SGDKEY%","HiDefinitionMode",0x00010001,0
HKLM,"%SGDKEY%","AutoPreview",0x00010001,0
HKLM,"%SGDKEY%","AutoClose",0x00010001,0
HKLM,"%SGDKEY%","SavePreview",0x00010001,1
HKLM,"%SGDKEY%","DriverDate",,"06 2009"
HKLM,"%SGDKEY%","DriverVersion",,"11.3.0.0.mf09"
HKLM,"%SGDKEY%","ColorGear",,%CNC.ColorGear%
HKLM,"%SGDKEY%","ColorMatch Platen",,"CNFR08.ICC"
HKLM,"%SGDKEY%","SGIPPDEF",,"CNCFR08.DAT"
HKLM,"%SGDKEY%","Descreen",0x00010001,0
HKLM,"%SGDKEY%","Unsharp",0x00010001,3
HKLM,"%SGDKEY%","MultiLimitThreshold",0x00010001,180
HKLM,"%SGDKEY%","MultiJackUp",0x00010001,9
HKLM,"%SGDKEY%","MultiTrimJackUp",0x00010001,20
HKLM,"%SGDKEY%","CardPhotoDistThr",0x00010001,30
HKLM,"%SGDKEY%","PhotoTrimThr",0x00010001,210
HKLM,"%SGDKEY%","PhotoRThr",0x00010001,210
HKLM,"%SGDKEY%","PhotoGThr",0x00010001,210
HKLM,"%SGDKEY%","PhotoBThr",0x00010001,210
HKLM,"%SGDKEY%","CardTrimThr",0x00010001,30
HKLM,"%SGDKEY%","CardRThr",0x00010001,30
HKLM,"%SGDKEY%","CardGThr",0x00010001,30
HKLM,"%SGDKEY%","CardBThr",0x00010001,30
HKLM,"%SGDKEY%","ParWhiteBlackEth",0x00010001,5
HKLM,"%SGDKEY%","ParWhiteBlackEthDG",0x00010001,5
HKLM,"%SGDKEY%","ParWhiteBlackSth",0x00010001,35
HKLM,"%SGDKEY%","ParWhiteBlackVth",0x00010001,10
HKLM,"%SGDKEY%","ParLabelingHth",0x00010001,30
HKLM,"%SGDKEY%","ParLabelingLeft",0x00010001,1
HKLM,"%SGDKEY%","ParLabelingTop",0x00010001,1
HKLM,"%SGDKEY%","ParLabelingRight",0x00010001,1
HKLM,"%SGDKEY%","ParLabelingBottom",0x00010001,1
HKLM,"%SGDKEY%","DT_Left",,"10"
HKLM,"%SGDKEY%","DT_Top",,"0"
HKLM,"%SGDKEY%","DT_Width" ,,"1.5"
HKLM,"%SGDKEY%","DT_Length",,"4.5"
HKLM,"%SGDKEY%","DT_Border_1",,"2.5"
HKLM,"%SGDKEY%","DT_Border_2",,"3.5"
HKLM,"%SGDKEY%","DT_BkTh",,"18"
HKLM,"%SGDKEY%","DT_MinWhThr",,"15"
HKLM,"%SGDKEY%","DT_MaxWhThr",,"45"
HKLM,"%SGDKEY%","ButtonNum",0x00010001,1
HKLM,"%STIKEY%","MF8300",0x00010001,1
[CNCAddreg.USB]
HKLM,"%SGDKEY%","AvailableDriver",0x00010001,1
[CNCUSDAddreg_XP]
HKLM,"%WIASGDKEY%","ColorMatch",0x00010001,1
HKLM,"%WIASGDKEY%","ColorGear",,"%CNC.ColorGear%"
HKLM,"%WIASGDKEY%","TextEnhance",0x00010001,0
HKLM,"%WIASGDKEY%","Descreen",0x00010001,0
HKLM,"%WIASGDKEY%","UnsharpMask",0x00010001,0
HKLM,"%WIASGDKEY%","HiDefinitionMode",0x00010001,0
HKLM,"%WIASGDKEY%","ProductId",,"MF8300 "
HKLM,"%WIASGDKEY%","ButtonNum",0x00010001,1
HKLM,"%WIASGDKEY%","DspGamma",0x00010001,1
HKLM,"%WIASTIKEY%","MF8300",0x00010001,1
HKR,,USDClass,,"{4BA01336-9934-455e-8FB8-4A47A638DF0E}"
HKCR,CLSID\{4BA01336-9934-455e-8FB8-4A47A638DF0E},,,"Canon USD"
HKCR,CLSID\{4BA01336-9934-455e-8FB8-4A47A638DF0E}\InProcServer32,,,%11%\CNCC8300.DLL
HKCR,CLSID\{4BA01336-9934-455e-8FB8-4A47A638DF0E}\InProcServer32,ThreadingModel,,"Both"
; The above GUID is specific to MF8300 and MUST change for a different model.
[CNCUSDAddreg_VISTA]
HKCR,CLSID\{DF89C549-D67D-4fb0-A575-547073BFAB11},,,"WIA Driver UI Extension"
HKCR,CLSID\{DF89C549-D67D-4fb0-A575-547073BFAB11}\shellex\ImageProcessingFilter\{CA0D4D3E-98ED-4787-AF02-4AF2A1303ACC}
; The above GUID is specific to MF8300 and MUST change for a different model.
HKCR,CLSID\{CA0D4D3E-98ED-4787-AF02-4AF2A1303ACC},,,"Canon Image Processing Filter"
HKCR,CLSID\{CA0D4D3E-98ED-4787-AF02-4AF2A1303ACC}\InProcServer32,,,%11%\CNCE8300.dll
HKCR,CLSID\{CA0D4D3E-98ED-4787-AF02-4AF2A1303ACC}\InProcServer32,ThreadingModel,,"Both"
; The above GUID is specific to MF8300 and MUST change for a different model.
[WiaFiles]
CNCC8300.DLL
CNCI8300.DLL
CNCL8300.DLL
[Wia2Files]
CNCC8300.DLL
CNCI8300.DLL
CNCL8300.DLL
CNCE8300.DLL
[CNCDsFiles]
CISDS.DS
SGUI.DLL
SGUI_RES.DLL
WIARES.DLL
IOP.DLL
ITLIB32.DLL
SCANINTF.DLL
TPM.DLL
CNCFR08.DAT
MC2.TXT
JDA_CIMG.DLL
NBS4MB.DLL
NBSCOR4M.DLL
RMSLANTC.DLL
RSTCOL.DLL
[MPScanLLD]
CNCMFP36.INI,,,0x20
CNCLSI36b.DLL,,,0x20
CNCLSD36b.DLL,,,0x20
CNCLSC36b.DLL,,,0x20
CNCLST36b.DLL,,,0x20
CNCLSU36b.DLL,,,0x20
[CNCMediaFiles]
CSSAMP1.MID
;-------------------------------Source Index
[SourceDisksFiles]
CNZ005.ICC=1
ITLIB32.DLL=1
JDA_CIMG.DLL=1
NBS4MB.DLL=1
NBSCOR4M.DLL=1
RMSLANTC.DLL=1
RSTCOL.DLL=1
CISDS.DS=1
SGUI.DLL=1
IOP.DLL=1
SCANINTF.DLL=1
TPM.DLL=1
SGUI_RES.DLL=1
WIARES.DLL=1
CSSAMP1.MID=1
CNCFR08.DAT=1
CNFR08.ICC=1
MC2.TXT=1
CNCC8300.DLL=1
CNCI8300.DLL=1
CNCL8300.DLL=1
CNCE8300.DLL=1
CNCMFP36.INI=1
CNCLSI36b.DLL=1
CNCLSD36b.DLL=1
CNCLSC36b.DLL=1
CNCLST36b.DLL=1
CNCLSU36b.DLL=1
CNCLSO36b.DLL =1
[SourceDisksNames]
1=%D1%,scan.cab,
;-------------------------------String Aliases
[Strings]
Msft="Canon"
Mfg="Canon"
SGDKEY="Software\Wow6432Node\Canon\SateraMFP1\ScanGear\11.3\Devices\MF8300"
STIKEY="Software\Wow6432Node\Canon\SateraMFP1\ScanGear\STI"
DEFAULTKEYNAME="Software\Wow6432Node\Canon\SateraMFP1\Toolbox Ver4.9\Devices\"
KEYNAME="\Software\Canon\MFToolbox\"
WIASGDKEY="Software\Canon\SateraMFP1\WIA\3.0\Devices\MF8300"
WIASTIKEY="Software\Canon\SateraMFP1\WIA\STI"
D1="Canon MF8300 Series Setup Disk"
LPTENUM\CNC.DeviceDesc="Canon MF8300 Series"
ButtonApp = "MF Toolbox Ver4.9"
CNCRFN = "MF8300"
CNC.MDL = "Canon MF8300"
CNC.SRS = "Canon MF8300 Series"
CNC.DeviceDesc = "Canon MF8300"
CNC.SPInfo = "Canon MF8300 Scanner"
CNC.TwainDS = "Canon MF8300 Series"
CNC.ColorGear = "FR08"
PushButtonPushed1= "Scan-1"
PushButtonPushed2= "Scan-2"
PushButtonPushed3= "Scan-3"
PushButtonPushed4= "Scan-4"
CNC.FriendlyName = "WIA Canon MF8300 Series"
greeting
Sixten -
We are developing a precision instrument that measures Temperature, Pressure and humidity used in the pharmaceutical industry.
The Instrument is based on Windows Embedded Compact (7.0)
WE establish a TCP communication vi a USB connection. This is done by the RNDIS Driver.
When we connect the instrument to a PC we have to do the following in Windows:
http://developer.toradex.com/knowledge-base/how-to-install-microsoft-rndis-driver-for-windows-7
The INF that is used is then C:\Windows\inf\rndiscmp.inf
We want this to be executed automatically
The way it is automated is by setting the correct entry’s in the registration database on the Instruments. In Windows CE registration database.
On
http://www.usb.org/developers/defined_class we think we must set Base Class = EFh, SubClass = 04h and Protocol = 01h.
But how is this done in the registry on the device?
Who can help me :-)Hi Mads,
changes in "rndisfn.h" in public folder have no influance on your project, because those files are not built at all. Visual Studio will use this one anyway (which is already built): C:\WINCE700\public\common\oak\target\armv7\retail\rndisfn.dll
To make use of Microsoft public code, you have to clone this code - that is copy selected source files to BSP folder and adjust DIRS files to include new data in the compilation process.
To clone RNDIS component, copy rndis folder from C:\WINCE700\public\common\oak\drivers\UsbFn\class
to C:\WINCE700\platform\YOUR_BSP\Src\COMMON\USBFN.
Edit source file C:\WINCE700\platform\YOUR_BSP\Src\COMMON\USBFN\rndis\rndisfn\sources:
DOSYSGEN=1
TARGETDEFNAME=RNDISFN
TARGETNAME=RNDISFN
TARGETTYPE=DYNLINK
DLLENTRY=_DllEntryCRTStartup
SOURCES= \
rndisfn.cpp \
TARGETLIBS= \
$(_COMMONSDKROOT)\lib\$(_CPUINDPATH)\ndis.lib \
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\ceddk.lib \
$(_SYSGENSDKROOT)\lib\$(_CPUINDPATH)\coredll.lib
SOURCELIBS=\
$(SG_OUTPUT_ROOT)\platform\$(_TGTPLAT)\lib\$(_CPUINDPATH)\rndismini2.lib \
$(_PUBLICROOT)\common\oak\lib\$(_CPUINDPATH)\ufnclientlib.lib
Finally, edit C:\WINCE700\platform\YOUR_BSP\Src\COMMON\USBFN\dirs to include your new component (folder) in the build process:
DIRS=\
RNDISKITL \
RNDIS \
System will build now new rndisfn.dll, which will replace the original one in the public directory. I hope I didn't forget anything...
Maybe you are looking for
-
Error in Installing From Creative Cloud
installing from Creative Cloud I get this errors Exit Code: 7 Please see specific errors and warnings below for troubleshooting. For example, WARNING: DW020 ... -------------------------------------- Summary -------------------------------------- -
-
I am running Windows 7 64 bit Access 2010 32 bit Developing an application with a split FE BE with both files local but continue to have the message "Not Responding" when switching from forms view to design view and back as well as if I try to connec
-
Also I got problems at Eye TV - export. If I choose the "iPod"-Export-Settings, the exportet file will not be played in quicktime. Maybe there are some Quicktime problems? I use the latest updates for all..... many thanks for your help in advance!!!!
-
Dear Friends, Getting error when cloning 11.5.9 from PROD to DEV: ERROR: OUI files not found at their expected location. Please make sure that the pre-requisit OUI patch was applied correctly: patch should be unzipped directly at the ORACLE_HOME root
-
I am receiving the message "Media can't be used because you don't have access privileges or because it has no content or is corrupt." In the recent past, I have been able to drag photos from iPhoto into Pages or Text Edit. I can drag photos from so