问题描述
尝试使用 Qt 编写一个会在屏幕上放置水印的应用程序。 使用以下标志可以让我的窗口显示在所有内容之上,除非用户在 Windows 照片中使用全屏模式。
self.setwindowFlags(
Qt.WindowTransparentForInput | Qt.WindowStaysOnTopHint |
Qt.FramelessWindowHint | Qt.Tool | Qt.MaximizeUsingFullscreenGeometryHint)
在上述情况下是否有可能强制窗口保持在顶部?即使用 user32 而无需为不同的框架重写所有内容。
解决方法
在 Windows 上,您可以使用 Resources // VMs
| where type == 'microsoft.compute/virtualmachines'
| extend AvSet = properties.availabilitySet.id
| extend AvZone = properties.availabilityZone.id
| extend VMname_SLA = iff(isnotempty(AvZone),AvZone,iff(isnotempty(AvSet),AvSet,id))
| extend SLA_VM = iff(isnotnull(AvZone),'99.99%',iff(isnotnull(AvSet),'99.95%',''))
| extend managedBy = tolower(id)
| join kind = leftouter (
Resources // Disks
| where type == 'microsoft.compute/disks'
| where isnotempty(managedBy)
| extend managedBy = tolower(managedBy)
// What do Standard HDD disks have as SKU tag??? I used StandardHDD for the time being
| extend Tier_disk = sku.tier
| extend SLA_disk = iff(Tier_disk == 'StandardHDD','95%',iff(Tier_disk == 'Standard','99.5%','99.9%'))
) on managedBy
| extend SLA_tot = iff(isnotempty(SLA_VM),SLA_VM,SLA_disk)
| project managedBy,VMname_SLA,SLA_tot
| order by managedBy asc
和 gdi32
在桌面上绘图,如果您只需要水印,则可以尝试这种方法。
user32