Comments (6)
Glad to hear you got it working!
Strangely, building the sample itself didn't work either but now it works. 👀
Didn't work even after I pushed 776868b? That's strange.
In any case, I've now updated the sample to use a hard-coded CLSID so hopefully the next person has easier time with it, thanks for pointing out the issues! :)
from intercom.
Been a while since I worked with that sample, but I just built the debug version with cargo build
now, registered the dll with regsvr32 thumbnail_provider.dll
(which created the debug.log) and then registered the shell extension by importing the association.reg
into registry. The icons didn't become visible immediately but by the time I started process monitor to figure out what was wrong, the icons were visible.
from intercom.
It's been several minutes and still no luck. BTW, does 61A6080E-0E9F-3CEF-50A7-622D16145B78
in the reg file have any meaning?
from intercom.
Oh wait, did you rename the sample? The e357fccd-a995-4576-b01f-234630154e96
is a hard coded Windows GUID that relates to shell extensions/thumbnail providers, but the 61A6080E-0E9F-3CEF-50A7-622D16145B78
is the CLSID of the ThumbnailProvider
com_class
. It gets derived from the crate name/type name automatically so if one of those changes, the CLSID changes.
.. probably should have hard coded that as well in the attribute!
(The easiest way to find the correct CLSID is to look it up in the registry by doing Find under HKEY_CLASSES_ROOT\CLSID
for ThumbnailProvider.ThumbnailProvider
, where the first one is the camel cased crate name and the second one is the struct name.
So if you renamed crate to foo_bar
and the struc to to MyProvider
, then FooBar.MyProvider
.)
from intercom.
Oh thanks, it now works! I did have my own crate name. Strangely, building the sample itself didn't work either but now it works. 👀
from intercom.
Thanks again! Closing since I have no issue anymore 😁
from intercom.
Related Issues (20)
- Support Option<ComRc>/etc.
- Implement `com_module!(..)` macro HOT 1
- Implement `clsid!(..)` attribute HOT 1
- Provide mechanism for describing infallible methods
- Deprecate non-ComResult Results
- Figure out a way to make #[com_interface] impl Struct safe
- Handle panics when returning to COM
- Support com-rs interfaces/classes in com_library/module
- Support com-rs interface definition output in intercom-cli
- Try to get rid of com_impl
- Implementing Windows Shell Extension with Intercom HOT 6
- Interface types are not gathered in typelib HOT 1
- C++ GUID and IID are not compatible with each other in Linux
- samples/thumbnail_provider fails to build HOT 1
- Can winapi structs be reused with intercom? HOT 4
- Build fails with syn 1.0.60 HOT 2
- Custom hooks for DllRegisterServer/DllUnregisterServer? HOT 2
- Cannot compile due to many errors in Rust 1.56 HOT 3
- Compile error with 1.59.0 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from intercom.