winim icon indicating copy to clipboard operation
winim copied to clipboard

Recommended way to contribute?

Open Varriount opened this issue 5 years ago • 3 comments
trafficstars

I'd like to add some more libraries (namely the UI automation libraries). Is there a recommended process/workflow for doing this? I'm familiar with C2Nim, but it struggles to generate accurate code, given the complexity of the Windows API.

Varriount avatar Jul 07 '20 05:07 Varriount

Hmm...

When I start this projects, I decide to translate MinGW's Windows headers to nim instead of using Microsoft Windows 10 SDK. Because it seems more easily. Until now, my own mingw2nim already contains about 6000 lines of code, hundreds PEGs, uncountable hotpatches, etc.

Now, I regret that why I don't use Windows 10 SDK at the beginning. It seems that I need to redo all my work on Win10SDK to add the features that not supported in MinGW. In fact, I tried parse win10sdk a while ago (and yes, for UI automation), by npeg instead of std/pegs, in very slow progress, and I almost gave up. Another way to do is trying not to parse whole win10sdk but only UI automation part. I don't know is it easy or not.

BTW, I am still using sublime text. Thanks for your NimLime.

khchen avatar Jul 08 '20 09:07 khchen

I added uiautomation module and a simple example. However, I am not familiar with uiautomation, maybe you can test it?

khchen avatar Dec 03 '20 16:12 khchen

Hmm...

When I start this projects, I decide to translate MinGW's Windows headers to nim instead of using Microsoft Windows 10 SDK. Because it seems more easily. Until now, my own mingw2nim already contains about 6000 lines of code, hundreds PEGs, uncountable hotpatches, etc.

Now, I regret that why I don't use Windows 10 SDK at the beginning. It seems that I need to redo all my work on Win10SDK to add the features that not supported in MinGW. In fact, I tried parse win10sdk a while ago (and yes, for UI automation), by npeg instead of std/pegs, in very slow progress, and I almost gave up. Another way to do is trying not to parse whole win10sdk but only UI automation part. I don't know is it easy or not.

BTW, I am still using sublime text. Thanks for your NimLime.

Windows Api bindings can now be generated using https://github.com/microsoft/win32metadata, so it should be easier to automate everything.

nc-x avatar Feb 02 '21 14:02 nc-x