win32 | Public mirror for win32-pr | Privacy library
kandi X-RAY | win32 Summary
kandi X-RAY | win32 Summary
Public mirror for win32-pr
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of win32
win32 Key Features
win32 Examples and Code Snippets
Community Discussions
Trending Discussions on win32
QUESTION
I'm currently using Winsock2 to be able to test a connection to multiple local telnet
servers, but if the server connection fails, the default Winsock client takes forever to timeout.
I've seen from other posts that select()
can set a timeout for the connection part, and that setsockopt()
with timeval
can timeout the receiving portion of the code, but I have no idea how to implement either. Pieces of code that I've copy/pasted from other answers always seem to fail for me.
How would I use both of these functions in the default client code? Or, if it isn't possible to use those functions in the default client code, can someone give me some pointers on how to use those functions correctly?
...ANSWER
Answered 2021-Jun-15 at 21:17
select()
can set a timeout for the connection part.
Yes, but only if you put the socket into non-blocking mode before calling connect()
, so that connect()
exits immediately and then the code can use select()
to wait for the socket to report when the connect operation has finished. But the code shown is not doing that.
setsockopt()
withtimeval
can timeout the receiving portion of the code
Yes, though select()
can also be used to timeout a read operation, as well. Simply call select()
first, and then call recv()
only if select()
reports that the socket is readable (has pending data to read).
Try something like this:
QUESTION
In C++20, we got the capability to sleep on atomic variables, waiting for their value to change.
We do so by using the std::atomic::wait
method.
Unfortunately, while wait
has been standardized, wait_for
and wait_until
are not. Meaning that we cannot sleep on an atomic variable with a timeout.
Sleeping on an atomic variable is anyway implemented behind the scenes with WaitOnAddress on Windows and the futex system call on Linux.
Working around the above problem (no way to sleep on an atomic variable with a timeout), I could pass the memory address of an std::atomic
to WaitOnAddress
on Windows and it will (kinda) work with no UB, as the function gets void*
as a parameter, and it's valid to cast std::atomic
to void*
On Linux, it is unclear whether it's ok to mix std::atomic
with futex
. futex
gets either a uint32_t*
or a int32_t*
(depending which manual you read), and casting std::atomic
to u/int*
is UB. On the other hand, the manual says
The uaddr argument points to the futex word. On all platforms, futexes are four-byte integers that must be aligned on a four- byte boundary. The operation to perform on the futex is specified in the futex_op argument; val is a value whose meaning and purpose depends on futex_op.
Hinting that alignas(4) std::atomic
should work, and it doesn't matter which integer type is it is as long as the type has the size of 4 bytes and the alignment of 4.
Also, I have seen many places where this trick of combining atomics and futexes is implemented, including boost and TBB.
So what is the best way to sleep on an atomic variable with a timeout in a non UB way? Do we have to implement our own atomic class with OS primitives to achieve it correctly?
(Solutions like mixing atomics and condition variables exist, but sub-optimal)
...ANSWER
Answered 2021-Jun-15 at 20:48You shouldn't necessarily have to implement a full custom atomic
API, it should actually be safe to simply pull out a pointer to the underlying data from the atomic
and pass it to the system.
Since std::atomic
does not offer some equivalent of native_handle
like other synchronization primitives offer, you're going to be stuck doing some implementation-specific hacks to try to get it to interface with the native API.
For the most part, it's reasonably safe to assume that first member of these types in implementations will be the same as the T
type -- at least for integral values [1]. This is an assurance that will make it possible to extract out this value.
... and casting
std::atomic
tou/int*
is UB
This isn't actually the case.
std::atomic
is guaranteed by the standard to be Standard-Layout Type. One helpful but often esoteric properties of standard layout types is that it is safe to reinterpret_cast
a T
to a value or reference of the first sub-object (e.g. the first member of the std::atomic
).
As long as we can guarantee that the std::atomic
contains only the u/int
as a member (or at least, as its first member), then it's completely safe to extract out the type in this manner:
QUESTION
Context
Since Windows 10 version 2004 update, the Magnifier windows application was updated. And as with every update, there are some issues with it.
Since those issues might take a long time to fix, I've decided to implement my own small project full screen magnifier.
I've been developing in c#, .Net 4.6 using the Magnification API from windows magnification.dll . All went good and well, and the main functionality is now implemented. One thing is missing though, a smoothing Mode for pixelated content... Windows Magnifier implements an anti aliasing/ smoothing to the Zoomed in content.
I've checked and the Magnification API, doesn't seem to provide that option.
how do i add smoothing mode to magnifier on windows magnification API?
I'm aware of pixel smoothing methods, but not familiar with win32 API to know where to hook the smoothing method to, before the screen refreshes.
EDIT:
Thanks to @IInspectable answer, after a small search i found this call to the Magnification API in a python project.
Based on that, I wrote this snippet in my C# application , and it works as intended!
...ANSWER
Answered 2021-Jun-15 at 17:03There is no public interface in the Magnification API that allows clients to apply filtering (other than color transforms). This used to be possible, but the MagSetImageScalingCallback API was deprecated in Windows 7:
This function works only when Desktop Window Manager (DWM) is off.
Even if it is still available, it will no longer work as designed. From Desktop Window Manager is always on:
In Windows 8, Desktop Window Manager (DWM) is always ON and cannot be disabled by end users and apps.
With that, you're pretty much out of luck trying to replicate the results of the Magnifier application's upscaler using the Magnification API.
The Magnifier application appears to be using undocumented API calls to accomplish the upscaling effects. Running dumpbin /IMPORTS magnify.exe | findstr "Mag"
lists some of the public APIs, as well as the following:
MagSetLensUseBitmapSmoothing
MagSetFullscreenUseBitmapSmoothing
Unless you are willing to reverse-engineer those API calls, you're going to have to spend your time on another project, or look into a different solution.
A note on the upscaling algorithm: If you look closely you'll notice that the upscaled image doesn't exhibit any of the artifacts associated with smoothing algorithms.
The image isn't blurred in any way. Instead, it shows sharp edges everywhere. I don't know what upscaling algorithm is at work here. Wikipedia's entry on Pixel-art scaling algorithms lists some that have very similar properties. It might well be one of those, or a modified version thereof.
QUESTION
Im trying to create a multithreaded namedpipe server as outlined in the msdn sample here https://docs.microsoft.com/en-us/windows/win32/ipc/multithreaded-pipe-server but Im trying to restrict the namedpipe to access by adminstrators group members only.
The example works correctly when no SECURITY_ATTRIBUTES structure is specified but when an SA is specified the first call is successful, but following calls to CreateNamedPipe fail as long as the first pipe is listening or communicating with a client. The create call fails, usually with ACCESS_DENIED, but sometimes with error 1305 The revision level is unknown. When the first pipe closes due to client disconnecting the following call will be successful for the next createnamedpipe call but will in turn fail once that pipe has a client.
I have tried multiple values for the grfInheritance field with no avail. This is my first adventure into explicitly specifying SECURITY so forgive me if I have missed something obvious. Note that in the Function that calls createnamedpipe I create a new SA structure with each create attempt but I have also tried creating one and sharing it outside the create loop.
Relevant code follows:
function that creates the pipe:
...ANSWER
Answered 2021-Jun-15 at 02:23According to Named Pipe Security and Access Rights,
In addition to the requested access rights, the DACL must allow the calling thread FILE_CREATE_PIPE_INSTANCE access to the named pipe.
QUESTION
Downloading a file using command curl -O https://asdf.com/xyz.rar
. Now suppose the download is interrupted, so resuming download using curl -O -C -https://asdf.com/xyz.rar
,the following error appears curl: option -C: expected a positive numerical parameter
.How to solve this problem ?
Platform: Windows 7 Professional 2009 Curl version : curl 7.77.0 (i386-pc-win32) libcurl/7.77.0 OpenSSL/1.1.1k (Schannel) zlib/1.2. brotli/1.0.9 zstd/1.5.0 libidn2/2.3.1 libssh2/1.9.0 nghttp2/1.43.0 libgsasl/1 0.0 Release-Date: 2021-05-26
...ANSWER
Answered 2021-Jun-14 at 17:15Try this it may help
QUESTION
I am trying to use pkcs11js in an electron app created with electron-forge using webpack template.
But I got the error
...ANSWER
Answered 2021-Jun-14 at 10:30You should use the Electron Forge Webpack template which has better support for native modules.
There is currently an open issue for this functionality caused by the outdated/unmaintained @marshallofsound/webpack-asset-relocator-loader
which caters for native modules via Webpack. I'm currently working on a PR to fix this but in the meantime you can use my updated fork.
QUESTION
Recently I have been trying to convert .doc files into a new format, so that it is easier to work with the data. So, I decided to convert the .doc files to .docx files because there is a lot of flexibility from there, and I thought this task would be easy. However, I thought wrong. I am currently trying to use Win32 to access Word and for some reason it isn't working. Here is my code:
...ANSWER
Answered 2021-Jun-14 at 09:33You are almost there and need to change just a few little things:
- No need for
Activate()
, you can omit this - I think that your regular expression does not do the job correctly
- You should quit the Word application after saving the file
So this should work:
QUESTION
In a Delphi 10.4.2 Win32 VCL Application in Windows 10 x64, I use this code to programmatically create a Shortcut STRING for the DELETE key on a popup menu item:
...ANSWER
Answered 2021-Jun-14 at 08:35From the documentation for GetKeyNameText
:
24 Extended-key flag. Distinguishes some keys on an enhanced keyboard.
This says that it uses bit 24 in the LPARAM-styled argument as the extended-key flag.
Then, in About Keyboard Input:
Extended-Key Flag
The extended-key flag indicates whether the keystroke message originated from one of the additional keys on the enhanced keyboard. The extended keys consist of the ALT and CTRL keys on the right-hand side of the keyboard; the INS, DEL, HOME, END, PAGE UP, PAGE DOWN, and arrow keys in the clusters to the left of the numeric keypad; the NUM LOCK key; the BREAK (CTRL+PAUSE) key; the PRINT SCRN key; and the divide (/) and ENTER keys in the numeric keypad. The extended-key flag is set if the key is an extended key.
(body text emphasis mine).
Therefore, I conclude, that you can use
QUESTION
I have a microcontroller which I communicate with my windows pc, through FT232RL. On the computer side, I am making a C-library to send and receive data, using windows API.
I have managed to:
- Receive data (or multiple receives),
- Transmit data (or multiple transmits),
- First transmit (or multiple transmits) and then receive data (or multiple receives)
But I have not managed to:
- Transmit Data and then receive.
If I receive anything, and then try to transmit, I get error. So, I guess when I receive data, there is a change in configuration of the HANDLE hComm
, which I cannot find.
So the question is, what changes to my HANDLE hComm
configuration when I receive data, which does not allow me to transmit after that?
Here is my code/functions and the main() that give me the error. If I run this, I get this "error 6" -screenshot of the error down below-:
...ANSWER
Answered 2021-Jun-14 at 01:17According to MSDN:Sample, Maybe you need to set a pin's signal state to indicate the data has been sent/received in your microcontroller program. More details reside in your serial communication transmission of data standard. And you should write code according to the result of WaitCommEvent(hCom, &dwEvtMask, &o);
like the linked sample.
QUESTION
I have an Eclipse application which on execution giving below error -
...ANSWER
Answered 2021-Jun-13 at 15:15The log shows that the ResourcesPlugin is being found but its plug-in activator is getting a null pointer exception when it tries to get the IContentTypeManager
.
The content type manager is provided using OSGi declarative services but you have not included org.apache.felix.scr
which deals with this.
So at a minimum you need to include org.apache.felix.scr
and start it in the section:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install win32
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page